There are some solution for the leaver problem, but all have some nasty side effects which can give innocents with a bad internet connection a bad reputation or in case of a banlist destroy game fun when someone is banning people because he thinks their cheating(also known as winning). Whatever, every single carries a side effect.
My suggestion would be simple and effective. It wouldn't totally rule out leavers, but it'll keep them to minimum without side effects. Just give a surrender button, once clicked you get a message you lost/or something a kin to it and get you out of the game. Now this doesn't seem so effective, but as long as you make them insulting enough, people won't just leave. It's simple psychology, noone likes it when he is insulted a pointed to his failings big letters. Make it intrusive, make it insulting make, it big. Humiliate the leaver, show how great the other won, whatever. Now if you just have to eat/have internet connection problems this will not be a big problem, you will ignore it. But if you're a whiny leaver you're trying to escape your own failings, nothing helps so good as FAIL in letterfont 72.
You Lose.
You Failed.
Or something akin.