You can group servers by Pokémon type. Servers named Bulbasaur, Chicorita and Bellsprout probably have similar purposes, since they are all leaf Pokémons.
Another example, Charmander and Charizard. They both have the same purpose (since it's the same Pokémon 'species') but Charizard is a better server (because Charizard is Charmander's last evolution).
So for example:
* You could find a github tag in our repo marking v1.1.1
* You could find a server image called the same (mydomain.com-v1.1.1)
* If we're running that image as a live server, it too would be called mydomain.com-v1.1.1.
* If we're running multiple servers off the same image in parallel, we'd just append an arbitrary UID to the end of the name to uniquely identify each instance.
Hope that all made sense.
It keeps the names memorable and interesting, and can provide interesting conversations. Of course, I really don't manage that much hardware, so this naming scheme is viable short-term.
If you ever run out of inspiration, check out this wiki: http://namingschemes.com/.
We don't have a reason as to why we name them, but the entire team lived Breaking Bad and it was easy to agree on the name.