I run a large community. Here are my opinions:
1) The easiest thing you can do is have a friendly reminder about what is and what is not acceptable to post right next to the comment textbox. When I was in grad school they used to remind students of the honor code before each and every test, and apparently it reduced problematic behavior.
2) Posters in heated conversations care more about advancing their view than keeping HN civil. You can't rely on the downvote system, because mean comments that advance the "right" view will be upvoted regardless. You can't call them out, because your thread will be one of many, and the damage is already done by the time the comment is read.
They simply need to be deleted, and I don't see much deletion on HN.
3) there is a 99.9% chance a post is spam if it broadly criticizes the behavior of HN as opposed to the person they are replying to. These posts should also be removed.
4) For every topic of political contention, there is a group of people that ONLY post about that topic. These people should be monitored closely. I don't consider these posters to be participating in good faith--this is (or should be) a community of tech people that occasionally talks politics. So if you only post about a particular political issue, and never about any technology-related topics, one wonders if you are there just to advance your political viewpoint. As an aside, these posters mostly come out of the woodwork for gender-related topics, which I think are consistently the worst category on HN in terms of comment quality.
5) we need a clearer idea of what is and what is not acceptable on HN. Honestly I want to flag most of the political stories. I hate them. But I don't, because I am afraid of losing the feature.
6) ignore people who whine about censorship. There are a ton of other forums they can post on.
7) a more radical idea that I am less sure about: remove all political stories, and make politics.ycombinator.com. The twist: make membership invite-only. If someone is uncivil then it reflects poorly on the person who invited them. This is, as far as I can tell, the only effective solution to stopping uncivil discourse. When tensions are high, any amount of incivility can trigger another user. The only way to stop this problem generally is to stop it completely, there is no half way.
EDIT: to be completely clear: this advice really only applies to topics where the posters on each side have what can only be described as religious devotion to their point of view. Civil discussion requires humility, and there is rarely humility in political discussions.