I preface this article by saying that Ice Cream Sandwich is great. The OS is not the problem.
The problem with Android is that Google makes it harder to deliver great design:
Take Eclipse, and compare it to XCode. Guess which dev tool lets you design pixel-perfect visual layouts faster and more easily. Hint: Not Eclipse.
Google should've standardized screen sizes, and it shouldn't have allowed carriers to tweak the OS. The more time you have to spend to support varying screen sizes and carrier quirks, the less time you have available to make the app design tight.
And Google shouldn't release new OS versions unless it can deliver day and date to all major carriers at the same time. I shouldn't have to wait six months to find out if my phone will get an ICS update or not.
And don't get me started with 9patch. Perhaps if Android standardized screen sizes they wouldn't need this mess of an app.
If XCode didn't exist, all this would be moot. But the benchmark has been set, and perhaps Google should spend a little more time making Eclipse a bit more design friendly.