So I have been playing MMO's pretty much since UO came out, I have been in more Betas then I can remember and I've never really had that game that kept my interest. Most of the games I have quit I left for the same exact reason, the server I choose just died completely. This happens to most games and it always has the same result, people start leaving a dead server and that starts a chain reaction of others leaving.
Some games combat this in one of 2 ways, server merges which cause people to loose their land and sometimes their very identity do to name conflicts. The other way is server transfers which have the same negative drawbacks and sometimes cost money. These solutions almost always cause a snowball subscriber loss.
Splitting us up into multiple servers instead of one shared world where this problem wouldn't exist is difficult to do considering the games overall design as it would simply create another problem, over crowed servers which can be just as bad. No one wants to Q for hours to get into a game.
My suggestion is to connect all the servers together. This would prevent duplicate names from ever happening and remove the need for transfers and merges. Lore wise it could be explained as the world just being split into different shards that are loosely connected to each other with the same map yet different politics and development.
Now simply being able to jump from one shard to another anywhere on the map would surly lead to abuse as you could just jump behind an enemy wall. So I would suggest fixed portals located on every server in hard to reach places. Lets say 4 per server spread out a great distance from each other. Every shard would connect to 4 other shards directly by walking through these distance portals. The hook is that every shard will different connections. Meaning to get from server A to server D the player might have to walk through multiple shards or just one. This would also prevent the Jita effect (eve reference) of one shard getting overly flooded with players because there would be no central shard as they could be daisy-chained together in such a way to prevent their being a center.

This badly designed example above is just to give you an idea. If you wanted to you could have the portal network between shards shift every week or so to open up new challenges (enemies) for towns who choose to live near these portals but not necessary to make the overall idea work. I was just thinking it would open up even more interesting META. One week you got a friendly town on the other side who you can Tarde with and suddenly it's a blood thirsty enemy hellbent on taking everything you have. Just an idea.
Anyever, When a player creates a new character they will choose their starting shard. Anytime they login on that character they will simply login to the shard they logged out of last. This would allow cross shard commence, trade, and combat leading to some interesting META ala EVE which would lead to press and drive interest in the game. I also think alliances should be able to hold land across multiple shards if they so choose. It would basically make this a single server game without having to deal with any of the technical or server load issues that come with that.
On the database side you could simply have separate databases for each shard that sync all character data in realtime. Some data would not be necessary to share. You could even drop the realtime communication and only copy character data when necessary outside the character/guild/alliance name creation to prevent duplicate names.
Also it just seems like this would be relatively easy to implement, wouldn't really change the core idea of the game, it would solve an issue that plagues all multi-server games and basically drive the metagame especially if the gate destinations hope every week or month. You have to leave them static for long enough to create conflict or friendships if your gonna make the gates cycle.
I don't know, it's just idea. I like this game a lot but I have the worst luck picking servers. The pop of new games is always really high at launch and then drops out which again leads to mass exit. Perhaps one of you have a better idea on how to avoid this issue or can help improve this idea. Sorry for the wall of txt.