This is a normal thing to happen in the physical world. We really shouldn't have such strict connections between email being a primary identifier for a user, requiring only a single one on an account, and not letting users change what they consider their primary email address. Email addresses can and should change over time. If someone really wants to ensure you have a piece of digital real estate one should get into the "ownership" game and get your own domain. People somehow end up buying and selling houses all the time which is far more complicated paperwork-wise, and yet we act like registering a domain name and configuring it for an email provider is just nearly impossible for normal people to handle.
e.g. a server connects to the gmail MX server, and gets a response like "example@gmail.com now found at foo@example.com"
There's probably a ton of issues with this approach, but it would make switching email providers simpler on the user-end.
In the end though this still requires that original user to have exclusive ownership to that username in perpetuity and requires the email hoster to continue to actually host email services. It does nothing if, say, Google wanted to shut down email services on @gmail.com or start requiring paid accounts or whatever.
The only real solution is to use your own domain and MX records, which anyone who cares about keeping a vanity email address should do. Which to me is the virtual equivalent of keeping a PO box or such.
Having migrated off an @gmail to a personal domain, yeah it's a pain, but you rip the bandaid off and you're free. Changing the address on my mail sucked when I bought a house, but it would be silly to never ever move because changing your mailing address is unpleasant.
What are you suggesting happen otherwise? Once you're an email provider you're forever committed to being an email provider for those users until the end of time?