Like most everyone, I do experience all the emotions that should normally prompt one to tell someone off. Alas, when I've done so in the past, however, I find that rather than being left with a feeling of righteous self-satisfaction, I instead end up feeling enormous self-loathing, for allowing myself to be lowered to their level.
What works for me is to retreat from the field of battle. I find that if you don't take their bait, they soon tire of you and move on to another victim. I refuse to engage them in battle.
That, and externalising my frustrations and anger in a creative way. I've always kept a journal and find it very therapeutic to give someone a piece of my mind in my journal, rather than telling them off to their face. Since the advent of the internet and blogging, however, I now do a lot of my therapeutic externalising in posts here at BetterMost. For example, I found that my last post, where I described my brother's hateful father-in-law, to be particularly cathartic for me. And even more so since receiving your kind feedback. Thank you, everyone, for the sweet things you said. It means a lot to me.
Another way, I externalise and dissipate my anger is by poking fun at things that hurt me, and laughing at them. I do this by drawing cartoons. For example: