A couple guesses as to the state of affairs:
1. The first option which would make updates happen faster would involve Google allowing carriers to charge users for the updates. Free updates don't do much to help AT&T's (or any other carriers') bottom line. The carriers pay people to review, modify and test the OS source code (troubleshoot compatibility issues, add bloatware, etc.) and then give the software out for free!? For Fifteen different current phones as well as 15 phones that have gone 'end of line' in the past year!?
2. The second option which would make updates happen faster would involve Google taking the Apple route. Apple has one device (various shapes, sizes, capacities, names, etc., but really one device). The carriers aren't allowed to modify the OS, and updates come directly from Apple. If Apple releases new iOS software today, you can download it today. Done. No waiting on AT&T, Bell, etc. Simple. Apple also has the user base and continued sales power to enable them to take a hard stance on this when negotiating with carriers.
3. The average user doesn't know Gingerbread from Ice Cream Sandwich and really doesn't care if his/her phone has the latest Android OS or not. Last time I was in a Bell store the customer beside me wasn't asking about what OS was on her phone. She was asking the customer service agent to show her how to do 2 things with her new 'droid': (1) answer a call when the phone rings (I kid you not); (2) send a text message. She couldn't have cared less whether her phone's OS was the most current. She's in the majority. We, discussing mobile OS updates in an online forum, are the minority.