> 2. Asking for an "Email Address" would be better than asking for a "Username". You kill two birds with one stone. Most people can remember their email address(es) but I know I don't remember the different usernames I use. Allow users to add multiple email addresses and sign in with any of these.
As a counterpoint, I regularly use different Sneakemail addresses on different sites to be able to categorize my mail by origin and provide for limited sending capabilities. These are random-like (in order, among other things, to not be trivial to link to each other) and perfectly machine-readable, but they're difficult to use as usernames. So the trend of “email address as the only acceptable identifier for login” makes things more awkward for me. (This obviously doesn't apply if you allow associating a short name as well.)