What may help is Google changing their licensing agreements to require that manufacturers using 'Google experience' phones/Android brand allow Google to maintain sole control of software updates. Google can release an SDK a few months before a new distribution is pushed out, allowing enough time for manufacturers to update drivers.
This reminds me of a sort of retort to linux on the desktop not being so great, that "Linux is the kernel, it has nothing to do with GNOME usability issues".
The details don't matter to the end user, what matters is brand Foo doing what they expect brand Foo to do. The real question is, are they expecting their Google Android phone to behave a certain way, or are they expecting their Motorola Droid to behave a certain way?
Needless to say, I'm now using a Nexus One.
Did you really buy a Nexus ONE to replace your touch and don't use the phone portion of the Nexus?
For those that do (e.g. 3D games), you simply state that it requires a snapdragon or whatever CPU. Customers will soon be more familiar with their phones specs, as they are with their computers.
As long as customers understand that their low-end phone won't be able to run the sexiest games out there, I don't see too much of a problem. The developers just need to figure out how many people have the highest-end phones (and what they'll pay for games that utilize them).
INT. WHITE ROOM
We see two men -- (pudgy but adorable comedian, wearing a robot costume) and (douchey hipsterish guy) -- standing side by side.
DOUCHEY HIPSTER
Hi, I'm an iPhone.
ADORABLE COMEDIAN
And I'm an Android.
DOUCHEY HIPSTER
Hey, Android, have you played this great new game?
You can fill in the rest of the script from here, and perhaps in so doing you'll realize how quickly this could become a major marketing problem for Android...
What this suggests is that the solution for Android will be to have some easily-understandable number or naming scheme to roughly classify the power of the phone, so apps don't have to list compatible phones en masse. For desktop software, most people basically used the required and recommended CPU speed as such a number. Even though it didn't really capture the full nuances of whether an app required more RAM or more CPU, it was a good enough rough metric.
Edit: In short, I'm saying that if you cannot tell the difference and are a low-end cell phone consumer, then you can just as well do without voice search on your $50 phone. Beyond that, the good phones update themselves.
Generalizing from this if too many vendors start to arbitrarily decide to only run certain versions, then android as a platform could be in jeopardy since developers will have to decided between targeting some lowest common denominator, only developing for a subset of android phones or developing several versions of their app. Once users experience that they can't run certain android apps on their new android phone then they'll lose faith in android as a concept.