I agree that there is absolutely no excuse for violence, no matter how poor the service. So what to do?
It's a no brainer, actually. This is what I do as a passenger time and time again. I quietly tell each person who screws me up that I am dissatisfied, I note their name and the precise time and location of the incident.
When I get home I write to the airline - using exacly the format of an accident report and providing detail at that level.
Then the airline writes back to me. If I am a member of their frequent flier programme they give me some gift FF points, or a discount on my next flight or, if it is really bad, both. If it is not Star Alliance they generally just give me a discount. Some airlines just send a grovelling letter of apology. I pin those up on the office wall and try to avoid that airline in future. Occasionally an airline writes to tell me that it was all my fault. I circulate those letters to all my friends and close business colleagues.
I am very careful to write only when the service is genuinely bad or causes actual inconvenience - and is not just the expected grumpiness of someone working under pressure.
This is so effective that I just regard bad service as being a discount voucher from the airline, and so am able to stay calm.
Cheaper flights or a stay in prison? Where's the choice?
(Statistical appendix. In the past 10 years there are 22 airlines on which I have travelled more than 20 rotations each. 17 of those have never generated one my letters, but 1 of them has generated 7. Does this message get pulled by Danny if I name it?
My home airport airline has put up with me 646 times in that period and I have complained twice.)