Since you asked for advice, here’s mine;
You should practise/memorize a half a dozen or so phrases along the line of, “Oh man!”, “That sucks!”, “What a jerk!”, “I’m so sorry your day was filled with suckage…”, “It sucks to be you today, so sorry!”
Next time you find yourself ‘there’, stand your ground. (You’re not a child and there isn’t any flying shrapnel.) Force yourself to stay in the moment with him, full eye contact. When he gets to the outrageous part, you should show a little of that on your face. When he gets to the ‘he’s appalled’ part, look appalled. Exaggerate your facial expressions, from your norm. When you speak your phrases, speak up and with emphasis. Let him get it all out, finish up with a big hug and numerous kisses. Tell him something sweet, that the world be damned, you think he’s all that. Now pop out a distraction for you both, movie, dinner, videogame, a walk…, etc.
I think you only need to force yourself through it once. It will definitely feel awkward the first few times. But I think, in no time at all, you’ll be over this hump and it will feel normal and sincere in a way that it won’t in the beginning.
You must have surely realized, by now, that the lessons on life’s path that you don’t ‘get’, just keep coming back around, again and again. Until you do ‘get’ them. Good on you for recognizing a blind spot, it takes real self awareness to do.
I’m confident you can do this. Think about when you learned to swim. There was no half step to take, you had to throw yourself into the water. That first time was hard, like a leap of faith. You had to muster up your courage, calm your pounding heart, and override a basic instinct saying, “Are you crazy? Stay on the land!”. But you did it.
I wish you nothing but good luck in your journey to a more open heart!