Management does have the responsibility to ensure that employees are not abused by customers. There is another angle that I haven't seen mentioned though. Obnoxious customers annoy other customers, maybe good paying customers. So, in my mind there's no reason to continue accommodating persistently obnoxious customers.
Folks, you are allowed to 'fire' bad customers.