I work retail, and have for many years now. I'm not an easily fazed person and have a Talk No Shit, Take No Shit mentality. However, I also have a pretty intense anxiety disorder on top of other mental health issues and when I started 6+ years ago there were some customers who got to me.
So, to all the workers facing Karens and Kens out in the wild, here's my advice - cry.
If you have the type of relationships with your coworkers and managers that will support you, don't try to hold it in. Cry like the overworked, underpaid peon you are.
Nothing terrifies an asshole Karen like the indisputable proof that their actions/words are affecting you as a real live person. They feel perfectly entitled to cuss out a cashier over a wrong order/no cash policy/ face mask mandate but when that person starts to cry and asks them why they'd say such mean things? A whole other story, my friend.
There's no way to make that situation look good to the manager they demanded to speak with, either. My manager literally got a security guard fired for being so verbally abusive he made one of her employees cry.
This strategy has multiple benefits -
1. You're not standing there trying to pen up your emotions, crying is a great physical release for negative emotions and you may very well feel somewhat better afterwards.
2. The person who precipitated the situation is forced to not only see you as a person with feelings, but also has to confront the fact that their abuse has consequences beyond themselves.
3. It can actually give your higher-ups leverage to address these situations. 'They yelled at my employee' is one thing, but 'They yelled at my employee until they were in tears' is a waaaaay worse offense. A good manager can use that. Hell, it can get a security guard fired!
tl;dr: We live in a capitalist hell but we can work the system and cry at work to shame awful customers