I was in a very similar situation as you are currently in.
One of my last room mates would never do dishes, eat my food, leave his clothes and towels in the front room of the apartment, never helped clean, and would on occasion play music at 4 am when i was trying to sleep after he would come back from one of his frat parties...
Me and my other room mate would corner him and yell at him, then force him to pick up his ****. But, nothing we did would FIX his problematic roommate lifestyle. Unless you have control of anything he needs (IE income, a vehicle, etc..) I dont know how you can fix it.
Bad room mate relationships in the past have left me living by myself, and Im a ton more happy. My mess is mine, my food is mine, and i can have people over whenever I want.
Is he on your lease?