You want to have all of that toxicity--if it must exist--concentrated in a single place. Every new service shouldn't create a new namespace with its own hoard of asshats squatting usernames, and every time I join a new service I shouldn't have to jostle to get a username compatible with the ones I already have. If you use a hostname, you figure out your hostname once and then know that all subsequent services you ever use will have a single correct username.