Honestly, your freedom of speech ends where you are hurting the dignity of others. You can be an asshole if you want to, but you should not insult others (actually, insulting rather than critizising is a legal offense here)
In Germany, the topmost grant our constitution grants it dignity. Freedom of thought, religion and speech is also in their of course, but it is below the grants for dignity, and some other things like prohibition of discrimination because of race, sex/gender, religion and other things, your right not to be injured in physical or mental well-being etc.
And this is how it ought to be in my opinion.