Well, that is a fundamental problem, not a problem specific to Android.
For years, pc game makers have complained about the costs of developing for PC due to varying support from graphic cards.<p>So, you end up having to write various rendering engines with a lot of conditionals and the ability to change the setup via a menu.<p>Now, add to this a crap-load of varying input devices, single/multi touch screen, and you've got the same problem that PC game makers have but worse.<p>It's not the API that needs to be standardized, but the hardware.  The only reason that the iphone doesn't have this problem is because they only have 2 or 3 devices and they're all pretty standard hardware-wise.<p>Most console game makers site the reason of developing for a console is the standardized hardware.  However, you get lock-in with that.  
So, it really is a fundamental flaw/problem.<p>Beside, that's why programming languages have 'if/else'.<p>Yes, you have to do a lot of testing on your end, but you're not stuck to one platform.<p>Also, if you want to program your run of the mill program, then the standardized API is more than capable.  But like I said, if you're making a (high-performance) game, you have to sacrifice things, this is true for ALL platforms.