Oui, il y a toujours une solution.
Par exemple ; faire en sorte qu'il y ai un autre moyen d'identification que le pseudo pour un serveur.
Je m'explique : le système actuel, c'est que lorsqu'on se connecte à un serveur, nous (le client) envoyons le pseudo du joueur, donc du compte au serveur.
Il faudrait faire en sorte que dans notre compte, on puisse avoir un système de changement de pseudo (payant, sinon les changements seraient trop récurrents) lié à une adresse mail (ou un tag haché). Au final, sur le compte "Joueur 1" est lié le pseudo "Hawezo" et l'adresse "[email protected]".
Lorsque le client, connecté grâce à l'adresse mail et le mot de passe, se connecte à un serveur, le serveur récupère l'adresse mail, l'envoie à la base de données de Mojang qui lui renvoie le pseudo lié.
En gros :
"Joueur 1" se connecte au serveur.
"Joueur 1" envoie l'adresse mail à laquelle il est connecté au serveur.
Serveur envoie l'adresse mail à Mojang.
Mojang vérifie l'adresse mail, si elle existe dans la base de données, envoie le pseudo au serveur, sinon, lui dit que c'est une version crackée.
Ceci dit ça ne serait pas si sécurisé que ça, puisque quelqu'un trouvera forcément le moyen de lancer Minecraft avec une adresse mail, en ayant modifié le launcher pour qu'il ne la vérifie pas auprès de Mojang. 
J'espère que mes explications sont claires 
Mais, ce n'est qu'un exemple, et je pense qu'il ne servira pas à grand chose, car même avec ça, les joueurs ne seraient pas forcément d'accord avec le changement de pseudo. :)