I think the vast majority of bigots are low-level blowhards who don't even understand their own viewpoints. Only a small percentage of those actually cause direct harm to others.
I don't know the answer, but I know that indiscriminate restrictions on freedom of speech aren't the answer.
It saddens me that this paraphrased prose I'm about to write even has to exist.
First they came for the Nazis, and I did not speak out—
Because I was not a Nazi.
Then they came for the racists, and I did not speak out—
Because I was not a racist.
Then they came for the bigots, and I did not speak out—
Because I was not a bigot.
Then they came for the rich, and I did not speak out—
Because I was not rich.
Then they came for the religious, and I did not speak out—
Because I was not religious.
Then they came for me—and there was no one left to speak for me.