Screen size is just one aspect of it , this is a multi headed monster , other issue is input method ( touch
,trackball, triple key press
,QWERTY) , Heap Size, Memory constraint , diffrence in JVM implementation
,diffrent interpretation of specs etc . Device fragmentation is the harsh reality of Mobile world and
its going to stay . let me repeat
fragmentation is here to stay . Its evil cousin of differentiation . As long as manufacturers keep producing different devices we will keep running into these issues . I doubt if any of these alliances can do much to change that . not in any meaningful way , unless they can enforce end user to get app from them only or work with handset OEMs to make devices comply with some common minimum criteria before they allow them on their network .
Much as I like to be other wise genie is out of the bottle here , only thing we can do is to keep design of your app as platform neutral as possible. than attack the implementation part with tools for cross platform development , Java , J2ME is one way , there are other tools like Mobile Distelry ,Phonegap and Mitr trying to solve this problem only . but we have a long way to go on this . for more detail i suggest you read this
excellent paper from a NUS professor named RAJAPAKSE . it will give you a lot of insight about the same .
Disclaimer : I work for SpiceLabs the company behind Mitr