From an authentication point of view(Crypto and twiiter like 'verification'),some system or authority needs to verify your identity. I think a Fully Qualified User Identity (much like fqdn) where your username is only part of your FQUI would solve a lot of issues.
For example:
Alice.blue.hn.de Alice.orange.hn.twitter.us
The two FQUI represent different people.
Alice is in the 'blue' group,verified by hn which used the 'de' identity authority.
Alice is in the 'orange' group,verified by hn using twitter. Twitter used identity authority 'us'.
<[hierarchial user name]>.<user group>.<[hierarchial identity verifier domains]>.<identity authority>
This isn't a new idea at all,there just does not seem to be a one size fits all consensus on what system to use. Maybe everyone is wary because the DNS hierarchial system isn't doing too well. Unlike domain names,a person is unique,you can't register arbitrary identities under the same authority(at least not without committing fraud)
username@hostname.tld
Starcraft allows people to have the same username, tell your mate your username and ask him to add you, he wont be able to. You need to go through settings and find your unique user pin which you cant remember, then give that too your mate, they need both.
Use email and a screen name, your mate already knows your username and can add you, you can call yourself whatever you want.
But Facebook has made other trade-offs that people might not always agree with: it requires people to use their "real name", and while this policy is sporadically enforced, they probably have checks for people cycling through names, and they also focus on communicating with your close social circle where there is less incentive/opportunity to impersonate people.
Twitter has something in between where you can have a handle, which must be unique, as well as a display name, which does not. Without a unique handle @handle isn't a thing that works. You could do something like Facebook and have someone type @<Display Name> and provide some drop down for disambiguating, but given the wide open nature of Twitter, this seems more abuse-prone.
Identity is still hard to manage online, and I don't think we're really ever going to solve the problem in a way that makes everyone happy.
The ones that don't typically make a publicly identifyable string for you, like a url on GitHub or a handle on Twitter.