I love Cheryl B's idea. And don't allow him to remove himself from you by hiding in his room.
I would also withhold a beloved activity (TV, gameboy, x-box, computer, etc) from him if he is beligerent about having to raise his hand at home.
Unless he has ADHD, he is capable of stopping the behavior. It isn't easy. He has this impulsive trait in his personality and it's hard for him to control it. However, control it he must!
Having a code between you two, a word or an action, when you are together outside of school is also a good idea. One of my friend's peds told her that she had a niece who was really bad about leaving her dirty underwear all over the floor. When she came to visit, the ped would say a code word to her when she left her clothes in the floor. Finally, the niece asked what her aunt was talking about, and the aunt said that her name for her was that code word when she left her dirty clothes on her aunt's clean floor. After that, there were no more dirty clothes in the floor when she visited her aunt. Funny, when the ped went over to her niece's house, all she would have to do was look at her room's floor, look right in her face, and the girl would clean up the floor because of remembering the code word.
Maybe you could try something like that.
Dawn