As rslwn stated below, there are already limits on freedom of speech. I think the way to limit hate speech is to link the limits to protective classes already established by anti-discrimination laws. That’s not a perfect fix and it’s certainly not less slippery, but it is a way to better the situation.