Well your simple solution is to merely stop hanging out with him when you know he's going to get drunk. I'm guessing you could try the intervention route when he's sober and tell him how uncomfortable it makes you that he hits on you. But I'm going to assume that you've done that already.
It's no surprise that it's hard to get him to take no for an answer. He's drunk. You expect to be able to reason with a drunk person? You might be the most optimistic person in America. Do you also attempt to reason with 2-year-olds. I'm joking mostly, but the truth is, drunk people do drunk people things like yell, "I'm drunk" and fondle waitresses and sheep.
So, understanding drunk logic and action, the only way to circumvent it is to not willingly engage in said action WITH the other person. If you see ole boy getting drunker and more belligerent, remove yourself from his periphery.
Simple and plain pat.
My guy friends have a tendency to do this sometimes when we go out. Rather than not going all together I go and just move away from them when they get too flirty. I know my guys are harmless and truly have a lot of respect for me. Sometimes the alcohol just gets the better of them.
If your guy friend is good to you when he's sober and isn't crossing any major lines by putting his hands on you, just understand it's the alcohol. If he's crossing lines physically definitely move away and even see if another friend wants to pull him aside for a bit. Or even if he's just pushing your limits with what he's saying, you're in control of yourself, move away and interact with your other friends.
Like Panama said, if you've already talked to him when he's sober that's clearly not been effective, however, if you haven't, seize the opportunity to let him know how you feel about his actions. He should be away of how he acts when he's under the influence.
No one deserves to be made uncomfortable.