Trying to silence words that some may find offensive is a slippery slope, because no matter who you are or what you say, there is always someone that will be offended by it. Attempting to win hearts and minds through civil discourse, and accepting the reality that some people will always be unreachable, is IMHO the only way to move forward without irreparably dividing our society, because "A house divided against itself cannot stand".
Hate only breeds hate, and there will always be naturally evil people. Ignore the haters' speech, and keep preaching love an respect. Those that can come around will, and those that can't won't have a voice unless we give it to them.