Racism, and other forms of bigotry is unfortunate, because its nature is so complex, and fundamentally ingrained in people.
It is a matter almost impossible to make policy, without these policies coming to life on their own, and thus getting their own agendas (prompting hypocritical behaviours, double standards, emotional exploitation etc), while at the same time being too dire to ignore - because as a rule - bigotry means blaming and punishing innocent people (as in, punishing some random black dude, because all blacks are to be punished, or some random gay dude, cus all gays are to be punished, etc)
Bigotry is too dangerous to allow to flourish - it is _extremely_ volatile, probably one of the most easily ignited causes of mass-murder ever known to mankind, us-vs-them, even in total peacetime you can rally people to become bigots - as we see even IN peace time, bigots hide away untill they're welcome.
I know, dude, I'm of very little help here
I can see all the problems that come from excessive political correctness, backlashes etc, and of course the horrible result of allowing bigotry to go unchecked.
The solution? For people not to be dicks. A non-dick isn't gonna care who is gay or black, and will judge a person by his or her merits, and nothing else.
Unfortunately, most people are dicks, and will take the extreme road "ALL NIGGERS MUST DIE!" "A NIGGER MUST NEVER DIE! NO! WAKE HIM BACK UP!!!"
only a minor minority going "Eh, his name is Ronald, and he is just taking a nap."