@bob The key to all of this is making it so that you don't need to pick a server, yeah? Just run on your device, and store-and-forward works ok enough so that when you come online, you get the messages you were waiting for.
Break down that client-to-server divide!