Things like the World Cup and the Olympics are supposed to be held in places that can represent the entire world in a good way. Everyone is supposed to come together to compete, to have fun, and to get along with each other. Russia has too many strict laws towards different lifestyles to be open towards non-nationals. The World Cup would be better off being held elsewhere.
The Russian government is racist and it is one of many reasons that the World Cup should not be permitted to be held there. I also believe that the Olympics should have been moved out of Sochi after they instated their homophobic laws in that country. People should take a stand against their tyranny and not permit these games to make money for countries who openly discriminate such as Russia.
Russia, like China, has a spotty human rights record and shouldn't host any major sporting events until the Russian government becomes softer. Russian leaders are still wary of political opposition as a throwback to harsh regimes of the Soviet Union. The 2018 FIFA World Cup will be an eye-opening experience for world soccer when Russia's civil rights still have problems four years from now.
I think that Russians are too racist in general, but do not think that they are allowing this racism. With that said, though, they do allow certain forms of prejudice. For example, they lock up musicians if Putin doesn't agree with the message and now being gay is illegal there.
The Russian Government does not promote or condone racism and has laws banning racist practices throughout the country, I don't think racism is enough of a concern in Russia for the organizers of the World Cup to avoid hosting their event in the country, I think there are much larger considerations to be had when determining where to host it.