Perhaps Google should re-architect Android so that it is a set of applications that run on top of an OS. The OS would, obviously, contain device specific code, so it would be up to the hardware vendor to maintain that bit. The Android bit would be just algorithms adhering to open standards. Google could update that on any device whenever they pleased.
But a Mongolian clusterfuck is just so much easier for all the developers concerned.