There is a very easy way to get rid of clan hoppers.
Make it cost elixir to join a clan. The amount could increase with the level of your clan castle. But make it cost enough that there is no advantage to joining a clan just to get a few troops. I would think that 10,000 elixir for level 1 clan castle, increasing to 100,000 for high level clan castles would be a good amount. The elixir that you pay could be divided up equally between the members of the clan.

