With the recent Ultron alliance event, the topic of alliance shenanigans has come up, and it was one of the reasons given why Ultron wasn’t scaled for alliance size. I’ve heard about this kind of stuff before, and I had a simple suggestion to prevent problems. Why not just limit players to only be able to JOIN one alliance a season? This would put 0 restrictions on what you do between seasons, and it won’t ever prevent you from leaving alliances. However, once the season starts, you can either stay in your current alliance or join another one. You could wait and see what the season rewards are before you make your decision to concentrate on PvP or PvE, and it would take extremely little work on the backend (a single bit that is flipped once you join an alliance during a season, and cleared at the end of a season).
So far, the only opposition I’ve heard to the idea takes the form of “but then I couldn’t ”, which is kind of a poor argument. I would SUGGEST that along with this idea, big events like Ultron be between seasons, but it could just as easily be a choice that people make when joining an alliance (if I join a heavy PvP alliance, I might be weaker for big PvE events).