I'm usually a proponent of addressing the problem at the lowest possible level, especially between pilots. However...
I agree this guy has issues that make him a hazard to others in aviation (and on the ground).
In addition to unstable behavior this guy has crossed the line to physical violence. The incident you describe constitutes assault and probably battery. If he had done that to me he would have been grounded for medical reasons for quit some time...and placed under citizen's arrest, turned over to LE, and probably sued just for the fun of it.
If for some reason you feel obligated to do the right thing by this clown, try to get other pilots to back you up, and go see the CP. I doubt this will help though, the guy will get a talking to, and while he may be smart enough to refrain from getting physical in the future, he will probably just turn up the aggression in other ways. And of course he will be out to get you...not gonna be fun.
I would probably go the cops and report the assault. Whatever happens with that, you at least have a legit criminal investigation to refer to when you go visit the FAA. If you can get other pilots to back you up, take them to the FSDO too.
I agree you might get fired, but I would guess if you can get other pilots to back you up your odds are good...the company will probably go with the prevailing winds.