With Shor being all-blue all the time, except for a couple of hours at prime time, and Vivec being anything-but-blue at all times, I have a couple of ideas (some of which are in no way new but hey, I want to voice my support to those ideas) on how things might improve:
1. As sooo many players have said before me, SEPARATE IC FROM CYRODIIL. It is just stupid, from a player-perspective, that people in IC, who can not even see Cyrodiil zone chat, are counted towards Cyrodiil population. Just make it an entirely separate entity so that you enter IC the same way you enter Cyrodiil, and when you leave IC you go back to wherever it was you started from, say Reaper's March. Sure, you need to be allowed to enter Cyrodiil from IC as well but then you just go through the same process as if you entered Cyrodiil from any regular zone.
2. Introduce a maximum number of players per side, relative to the number of players on the lowest population side. Something like lowest population + 10 or whatever. Reach that cap and *boom* queue it is for you. Sure, this would frustrate people to no end but, at the same time, I believe it would encourage people to try playing PvP on other factions as well, balancing the situation for everyone.
3. Make keep/resource guards become easier/tougher depending on how many keeps your side controls. Something like home keeps plus/minus 1 = the guards are exactly as tough as they are now, but if your side has fewer keeps, they become increasingly tougher, up to a point where killing the guards in your final keep would require a more or less full, organized, well-equipped raid group (well, maybe not quite that tough, but you get the idea). Conversely, the more keeps your side controls, the easier the guards become to kill. I believe this would not only make it more fair for the losing sides but, at the same time, it would encourage more tactical thinking since you would be unable to just zerg the heck out of everything.
Comments are welcome.