Here's my approach, maybe it can help you.
First, mentally separate out the expletives, rude puerile insults, or ad hominem attacks. If that's the majority of the response someone is giving you, perhaps you don't even need to respond at all. People get flustered all the time, it's important not to let that get under your skin. Perhaps you can even take pleasure in the fact that they're more frustrated than you, and the only way they can win is by making you as angry as they are.
Second, read their response as charitably as you can. Give them the benefit of the doubt where ever possible and point out areas of common ground; acknowledge what you can agree on first before examining points that you disagree on. Obviously this is easier if you have some prior knowledge or experience with the person, and generally speaking, this is just easier for some people more than others, but I think it's something you can practice if you make a conscious attempt to do so.
You might say, "well, this person is a racist, sexist, bigoted asshole! Why would I give him or her the benefit of the doubt? How could I possibly find any common ground with a person like that!?" However, in my experience, very rarely will you encounter a genuine person with whom you can find zero agreement with. There are (capital 'T') Trolls that will disagree with everything and say anything to get a rise, but those become apparent since most people, when encountering this approach, will mirror it back and start looking for common ground in your points. Beyond that, admit when you're using hyperbole, if the person you're talking to makes a good point, let them know, be cautious about how you rephrase the other's arguments, and be open and ready to admit if you're wrong or make a mistake. The people worth engaging with will return the favor, and those that aren't, won't.
Third, on the points you disagree with, make your case as forcefully and respectfully as you can. If the other person is making points you can't easily respond to, then just chill. You don't have to admit they're right or agree with the other person; maybe you can type out a response and leave it a draft or just think about it for a while. The important thing here is not to let heat of the moment emotions cloud your judgement.
Lastly, use the personal moderation tools however you see fit. If you want to block literally everyone on the site, save for five or six people, that is your right, and don't let anyone criticize you for it. If you just don't like a person for whatever reason, don't feel bad about blocking them. Let them complain if they want to, but ultimately, on your posts and comments, you choose what they say and who you want responding to them. My personal view is that to use the block functionality just so you can get the "last word in" on some debate is a little immature and I think slightly less of someone when I see them do that, but again, it's up to you. I can understand getting frustrated or angry and not wanting to talk to someone, in which case, just don't reply to them and block them only if they won't leave you alone.
Edit: Thanks for the badge, I'm glad you found it useful! This is the culture of friendly and open discussion I think most hubskiroos want to foster.