See 22.
I understand your point, and maybe canned on the spot is a little too "zero tolerance". However, if that screaming and yelling is done in public (in front of customers, or in the presence of fellow co-workers) to humiliate a worker then they should be fired. As I said I've been in management and I've had to work with extremely incompetent workers as well - but I've NEVER needed to yell at someone to get my point across.
Yelling at a subordinate only causes more problems. It's the reason I try as a parent not to yell at my children as well - it represents a loss of control.
It's not about people's feelings or self esteem. It's about effective management. It's difficult to have any kind of respect for an adult who didn't outgrow temper tantrums.
Employees might do good work for an out of control boss, but it will be despite the yelling, not because of it. Employees of yelling bosses hide most of the mistakes they make, so there are times when small problems fester into big problems. When employees cover for each other, the boss is always the last to know what's going on in the place they "manage".