I grow tired of developers crying that the Android landscape is too vast for them to support. This diversity is not unlike PCs over the last 20-30 years. IBM compatibles could have any combination of memory, graphics & sound cards, with either a mouse/joystick or just a keyboard. Back in the 8-bit days, sure most of the machines were either 6502s or Z80s, but the per machine specs (Atari, Commodore, NES, Apple, Spectrum, etc) varied greatly and the developer had nothing like abstraction layers/libraries like OpenGL, Coco, or a VM. Particularly in the 8-bit days, individual or small team indie developers flourished.
What the developers didn't have what we do today is the Internet and massive online outlets like Android Marketplace and the App Store. Meaning, the real advantage of both platforms are the same--massive publicity.
So, let whatever developer who wants to cater to a single audience do so while the truly passionate and skilled developers reap the benefit of targeting nearly every platform simultaneously. There are good ways of tackling the bear of supporting multiple hardware, but it involves practices that, although proven to be effective, are seemingly undesirable to coders with too much pride.