Would it make sense to allow changing the account username? At least some hours/days following account creation, in case the user realizes he/she will have to type it very frequently and wants to shorten it.
admin note: this will require some complexity in communicating the change to all services, some of which may have to take extra steps like renaming data in the filesystem or on S3.
Since the user API only provides the user's name as UID for user authentication, to support username change, the API (and meta) would need to bind a UUID to accounts and make it available through the User resource
Perhaps a different solution might be to use 'aliases', where an account can have a limited amount of (say, two). All instances of an alias being used gets redirected to a primary username. This would be slightly more intuitive, and would allow people to do things like be able to have a short version of their username, or have different names they go under redirect to their account. This would also allow people who would want to change their name more than x amount of times to be able to without taking up a bunch of available names.
I think that aliases are a different beast than nickname changes, and I think that such a feature would be out of scope here.
Most of the request I've seen for username change is for users who changed their legal name (a lot of usernames are constructed around someone's actual name), the goal is to not be reminded of their previous name so keeping a "primary" username that's not changeable still defeats the point. Anyone correct me if I'm wrong, but for those who want this feature, invalidating previous links is the least of their worries so the technical complexities of redirects and aliases are mostly irrelevant.