Idea: Log in one time, and have site-specific profiles for each SE site. Users can have a site-specific rank for each site, so if they've never been to such-and-such StackExchange site before, and if they're logged in already, then when they visit the site their rank will be the default of 1 with no badges, etc. There'd be no need to log into each site and then have to perform accounts associations.
A solution to this could be to create a universal OpenID Account for all of StackExchange, while keeping the current accounts. Simply remove the OpenID login feature for the per-site-basis accounts and have them linked to the universal account.
This universal account would be invisible to the user. Stats, badges, etc would still be stored in site-specific accounts. If a user loggs in on any site using the familiar OpenID interface, are essentially essentially logged into their universal account. Then, when the user visits any SE site, the sub account for that site is automatically instantiated with its individual ranks, badges, etc.
I'm going to differentiate the indivual site accounts from the universal account by calling them "site-accounts".
An individual site-account would only be initiated for a specific site when the user visits that site for the first time, so there'd be no need to have site-accounts for each site as default. Optionally, you could have a new link next to the "login" link at the very top of the pages for user to opt-in to participating on that site. For example, if a user is not logged in, he can click the "login" link or a new "join" link right next to it. When he authenticates with openID, his unversal account is loaded. If he clicked the login button, he is returned to the site's front page WITHOUT joining the site. If the user originally clicked "join" then he is returned to the front page and see's the standard nickname display with a rank of 1 next to it.
The way i imagine it it wouldn't be difficult to make this happen. As a matter of fact, it could easily be done with some layering on top of the current API if you wanted to.
For example, the sites could continue to work exactly as they do now. The only thing that needs to be primarily changed is the login page so that when the user logs in, his universal account is loaded (we'd have to briefly create a new infrastructure for the universal accounts though, but simple enough). Then, when the user returns to or visits any site, site-accounts can be instantiated invisibly simply by using the same OpenID that that the user used to log into his (universal) account. So you see, the universal account would simply implement an OpenID login for each site-account behind the scenes, invisibly, so to seem that there is only one account.
The universal account would be very lightweight and only contain the user's profile information and OpenID info to use for instantiating site-accounts. The profile information in the universal account would act as a skeleton for site-accounts. Site-accounts would simply duplicate the universal account's profile data. The user can have the option to disable automatic profile creation which would simply turn of the automatic propagation, and he could still propagate the profile to all accounts with the click of a button.
Essentially, the universal account would be a sort of manipulator class to manipulate individual site-accounts, leaving them as they are, with very few modifications to the SE interface and site-accounts themselves. Accounts will be auto associated by the universal account class.
With dedication, this could be all set up in a matter of a few weeks, or even faster. After that is set up, universal accounts can be upgraded to include "friending" (or "contacts", or something similar), etc. Then finally, SE users would be able to maintain relationships whereas right now you might meet someone answering your questions, then loose them in the SE continuum and possibly never see or encounter them again.
What is the underlying platform behind StackOverflow? Is it PHP?