So how would you go about defining and judging potential hate speech? (When I think about it, it seems incredibly prone to bias.)
A good place to start would be understanding where a person's speech interferes with another person's ability to assert their own free speech.
For instance, this is a quality forum because it is well moderated in a fair manner. Everyone is free to share their opinions as long as they follow some basic guidelines including personal attacks. Were it not for this, the forum would not be a place where every person would be free to share their opinions. Think of our mission statement:
"As a community of diverse cultural and religious backgrounds, our aim is to provide a civil environment, informative, respectful and welcoming where people of diverse beliefs can discuss, compare and debate religion while engaging in fellowship with one another."
An online forum is different from the civil society of a nation, but the idea should be similar. The fundamental rights of humans to life, liberty, and the pursuit of happiness are always naturally restricted by recognizing that an individual's right to these should not restrict another's right to these. If murder brings me happiness, I cannot pursue it lest it interferes with anothers right to life.
A person's free speech should not unduly restrict another's. Of course, there are always consequences for this freedom. If I decide to be a racist jerk in public, I can expect to face consequences for that.