There's some work being done to support "nomadic identities" via Decentralized Identifiers (DIDs)[1] in ActivityPub[2].
I'm not sure about the current status is, and whether Mastodon plans to implement it, but this could potentially solve this issue.
[1]: https://w3c-ccg.github.io/did-spec/
[2]: https://github.com/WebOfTrustInfo/rebooting-the-web-of-trust...