Problem:
Cyrodiil during peak hours is not fun (unless you enjoy and have a character built around one or two button mashing - you know who you are...). All the server fixes and corrections are just not helping the server load during peak hours, especially with the server lag that comes from a close proximity of players and their associated overlapping data. Currently when servers are full there is a "lock" symbol (but it doesn't actually ever lock anyone out so I'm not sure why they even use that symbol). Note, this primarily affects Gray Host.
Solution:
When Cyrodiil gets to three bars in any one faction, Cyrodiil truly locks for that faction and a second server opens up. So for example there is now a Gray Host (2). But what about my alliance points and scoring you say? Yes, both servers would cumulatively score towards the alliance faction. But then won't one faction dominate two servers when they are on peak hours? (looking at you NA or Oceanic). Solution - second server opened would be worth a fraction (maybe 1/4 or so) of the primary server - not so much to destroy the alliance point system but enough to make it worth it to play on it when that second server opens up and reduce the lag on the primary server. Once population goes down to sufficient levels on all three alliances, the second server would close and all players transported back to primary server. In addition, once a second server is open, anyone from any alliance can move freely from primary to secondary server in order to keep guild groups intact.
This purely comes from a desire to actually enjoy this game without all the frustration we all get from server side lag when under heavy load.