The creation of special schools will not integrate them in modern societies, and I can assume that the level of education would definitely not be the same. In addition, their language is very intermixed with the language of the country so proper education in their own language does not seem as a good option, regardless of the fact that it would just distant them even more from the societies.
In my opinion, the governments should mobilize social groups (organizations) to work with them, assist them, attempts to integrate them in their societies, and somehow make some sort of public awareness about the fact that they are just like us and that they should accepted just like everyone else.
I know in Kosovo, the opinion of Roma was really bad and I can't say that it is perfect now either. However, I remember when a politician showed up, who was very literate, looked very official but was Roma. Just as I expected, he was seen as inferior and was not respected much. But he was hard working, he had a lot of media attention, and for many people, the opinion about Roma people started to change and he was seen as a good person and a capable politician. His name is Sabit Rrahmani, and he has been a member of Kosovo Parliament for a while now.
Creating laws that make segregation illegal is not the method to stop discrimination. That would only mean that "you can hate them, but don't you dare discriminate against them." Whereas, I think this issue should be tackled from within.
I agree that raising public awarness "that they are just like us" is important. But the need for pressure from different actors is necessary. For example, Sabri Rrahmani's seat in the Kosovo Parliament was also crucial since Kosovo is trying to establish a multiethnical society. As such, some kind of pressure did exist for integrating Roma into institutions. Only afterwards was he appreciated for his work rather than discriminated because of his origin. So, for me the 'pressure' comes first and afterwards society begins to change its opinion.