OK so I paid the price to learn this the first time, but after that I learned my lesson and two times (only) afterwards over several years the following approach worked for me. Here's the clue...
If you catch somebody doing sumthin' stoopit like this (best), or if you got witnesses who did (and you can confirm with them that said witnesses will say so in court), then unless the offenders are total pussies (which you can make sure everybody knows about if needed, especially at work), then the deal is done. Over. Finished.
Simply call them out... Get up in their face- talk about their mothers, sisters, daughters, even worse if you can think of any vile stuff that will drive them over the edge... Get creative, it can be fun! Drive them to the point that they swing at you first- in fact, I can take a pretty good hit so both times after the first I let them land the first shot. After that, it's self defense...
Now you can't do this, like, "days later" (I'm told), it has to be done at the time that the morons do what they do- but if you can get the idiots to take a swing at you first it's all up to you. What a country!
I know most of you guys could get real creative in making that happen... would be interested to hear what you said to them to drive it to that point, lol.