Suggestion: when you're building a user database, assign each user a 16-digit hexadecimal number as a unique identifier, disallow that internal identifier from changing, and let everything else change.
Want to change your username? Great. Want to change your email? Fine. The unique hex ID is all that matters.
16 hex digits is enough collision space to give every person on earth about 2.5 /million/ accounts on your system, but short enough that you can write it down on a post-it note.