Consider a parallel phenomenon: I notice there is outrage among gamers when cheating happens. But ironically cheating in conversation causes less active outrage. Both of these behaviors happen easily on the web but are difficult in real life. Maybe because conversation destroying behavior is less well understood or more stealthy. Maybe because it's so unimaginable in real life, people aren't used to dealing with it. Whatever the cause it's absurd that for games the problem is solved more zealously than in conversations that have serious impact.
PM, public forum, real names on Facebook, it doesn’t matter. Something inherent to text communications makes people more toxic than they would be in person. It’s not a free speech issue.
For simple trolls (as opposed to political actors), the dynamic is simple to model; you spend time and some effort to create accounts and say antagonistic things while people respond with abuse (to which the troll feels immune), and then harvest (via screenshots) examples of the saltiest tears for sharing with ones troll peers for lulz in other forums.
People do the exact same thing in real life, but it's more time-consuming and expensive to establish and maintain physical groups, both in economic terms and direct costs (legal or physical sanctions).
I do think you have a point, but also remember how public hate can be: slavery, segregation, genocide, Inquisition, witch trials, terrorism, violent crime, etc.
Unfortunately, humans have a history of willingly and publicly spreading hate without hiding behind text.
This is a huge topic with many possible solutions, but one option is to choose how we respond to it and how we let it affect us. Just knowing that someone might be more aggressive through text than in person might help to dampen the impact we let text have on us.
That is a wholly reasonable assumption; it's the same one that underlies courts and jury trials.
(Yes, I'm counting the fact that this site has a downvote button which lowers/obscures/hides posts as a censorship system. That system exists in the first place not only to raise good posts, but also to try to solve the problem of bad posts by slightly censoring them or more.)
We've created an ecosystem of "engagement" rife with perverse incentives for incivility. Does reconfiguring that ecosystem require censorship? I think not.
So long as a community doesn't grow too quickly, culture is mostly conserved. Ideals of tolerance and productive discussion would probably help, too, but ask a sociologist.
Instead, you should try to accept the truth: free speech is ugly, deal with it. There always are some people, who are nice, but all people are never nice. A lot of different people with different opinions freely voicing their opinions in the public space will always be ugly.
Ok, now let's assume you don't care and get to actually answering your question. In order to remove "ugly" you need to remove some of the elements:
1. Different opinions. People with different opinions are removed from society, everybody in the community must be as similar as possible. There are multiple ways to achieve that to multiple degrees, but the key is closed communities, since banning faster than they appear (or find a way to return, which is relevant for the web) is a hard work.
2. Freely voicing them. Again, multiple ways: good old moderation of the content, make everybody have a stake in what they are saying (reputation systems, goods exchange, game mechanics enforcing cooperation), etc.
3. Public space. Move all discussions to PM, so they still argue, but you don't see it and feel good about yourself and your platform.
4. Speech. Just don't let people communicate. Easiest to achieve on a given platform, and the most effective.