There is an easy solution, ban the IP range he's connecting from rather than his specific IP that way no matter how many times he changes his IP he's still blocked.

Doesn't remove the problem of proxies though.