Simply put,
Do not allow a player to leave a clan during a war.
this has become a major problem and can be mitigated by disabling a players choise to leave a clan once they have committed to war with them.
Thus solving the "War Hopper issue".
thanks for your consideration
We have solved this problem in our clan by not taking any new members to war until they have donated at least 100 troops. It shows that you are active enough to participate in wars with us. Most hoppers would never donate that many troops before leaving. It's not a very high number, but seems high enough to deter hoppers. This has worked for us, maybe it could help you too.