There are many problems with the implementation of Cyrodiil from what Zenimax has done so far.
I think everyone would be in favor of a fair fight. They are planning on implementing some changes like buffs only in the campaign you are Home'd, but I don't think that's enough.
The real problem is when one alliance has a much higher population (even if for a couple of hours) vs alliances that have little or no population. It's no fun to be vastly outnumbered.
Fix this by putting in matching population locks.
If Blue only has 100 people in the campaign, then other factions are capped at 100 as well. Everyone else is in a queue to get in.
When the low population goes up, the other factions can bring in more people.
There should be a +/- tolerance to make it acceptable for calculation purposes and ease of use.
Remove the concept of a "guest" campaign. You Home in one campaign and if it's locked, you are free to try out any other campaign.