This kind of behavior legally constitutes assault and you are entitled to defend yourself in any way you see fit (although shooting or stabbing him might get you talked about).
One technique that works quite well is to grab the little finger of the offending hand and bend it backwards. This will force him to his knees or break the finger at which point you may convince him to modify his behavior. This also works well for GGs as it doesn't require much strength. A spike heel to his instep will also work nicely.