First: I will not pretend to have any profound understanding of the current population balancing, general campaign populations, or..really anything. I just had a small idea that could prevent severe population imbalances leading to one-sided campaign battles.
It won't really solve the night-capping issue, nor does it exactly provide incentive to leave a current campaign (thorn) for another one (azura).
Essentially, I was thinking that population caps should be dynamic and a function of the sum of the two lowest populations, with an X base number for population cap.
So, for example, let's say a campaign starts off with a 20 base-population cap. So if only one faction joins a campaign, they cannot have more than 20 people until other factions start building population.
Once a threshold of population is achieved for the alliances, X (X could possibly be set to the base pop-lock number, 20 in this example), the global population-lock begins to increase.
Essentially you take a % (Y) of the sum of the two lowest populated alliances, and add it to X.
So let's say something like, AD is at 25, EP is at 18, and DC is at 20, the global population lock is calculated as BASE-POP + [(EP+DC)*Y%].
This is a very basic idea which could obviously be honed better, but I think a system like this could still allow for factions to have varying population sizes while still keeping them relatively close together.
Only solves a very minor issue in the game, but just figured I'd throw an idea here and let you guys tear it/me apart.
Thanks for reading.