If you have ever seen people screaming at each other, I am sure you would agree that they are not exchanging ideas and changing each other's minds. Anger is not state wherein people are open to new ideas. When you engage with someone you must always do so with the express intent of getting your ideas across as effectively as possible. Trying to convince an angry person to change their mind is a pointless exercise. They have a specific goal, and that is to vent their anger, not to change their minds. If you continue a discussion with an angry person, you are just allowing them to vent their anger onto you.
The first step to talking to someone who is angry is to make it clear that their behaviour is not acceptable if they want to have an exchange with you. You need to acknowledge and discuss their disposition. Point out that you recognize their anger, but that you will leave the discussion if they continue to behave in an angry way.
The weird and unexpected thing is that some people genuinely change their tune at this point. They recognize that you are not willing to indulge their anger and the also feel that it is more important to have the discussion than to throw it all away by behaving aggressively. They are still angry at that point, but there is a real possibility that they will cool down. Keep an eye on their levels of aggression. Remind them to calm down when they start to behave aggressively again and that you would rather not have a discussion with someone in that mood.
You have to decide whether someone is really stopping their aggressive behaviour adequately and honouring respectful discussion. If they get abusive you need to make your terms for termination of the discussion clear. If someone keeps being abusive or aggressive, let them know that you don't accept that kind of behaviour and give them an ultimatum. The same thing goes for veiled or passive aggressive insults, but there is an important thing to note here. If something seems insulting but could be interpreted otherwise make sure that you are right. Try to give people the benefit of the doubt.
Remember that there are many people out there that are both willing and able to have respectful discussions. If we make the terms under which we engage clear, and make people understand that we don't indulge aggressive behaviour, we encourage them to reform so they can rejoin the circle of respectful discourse. I think it is also important that ending a discussion with someone who is aggressive should not be a permanent end to your relationship with that person unless there is a credible threat of real violence or harassment from them. You don't need to martyr your own happiness in discussions where people verbally abuse you. Exchanges should be fun and stimulating, not awful and suffocating.
I speak from experience here. I believed that I would get there. All that happened is that I became aggressive and disrespectful too. Venting makes you feel better only until the person you vented at responds, at which point the cycle restarts. It is an act of self respect to end discussions with aggressors, and it is more effective to carry out discussions with people who are open to your ideas and not angrily dismissing them.