Well I think it is a bit unfair to say that MS coders are "shitty coders"
Innovation is made through creativity and entrepreneurship, not ones coding ability, so unless you have personally seen the source code, there is no possible way you could judge their coding ability.
It is a bit counter-intuitive, but I think Microsoft's growing lack of software innovation is a testament to just how large the company is. It is very difficult for a really large company to be innovative, because the kind of environment tends to prohibit creativity. And such companies tend to be really slow moving, not by choice, but because of the way most companies that size are organized, it takes a really long time to get anything significant done.
Those really large companies that are able to be innovative (GE comes to mind), are really only able to be so because they keep their R&D teams small (sometimes just one man) and give teams a great deal of freedom (to be creative)... That is to say, they create environments which foster innovation & creativity, rather than prohibit it.
So the idea that MS should just focus on a few products and then they will somehow be made better, I actually think is wrong. I think that could only make them worse, or at best no better or worse. Because the problem, I think, is not number of products, but environment in which products are created.
I also think that the idea that the coders are not innovative because they get paid no matter what is a little out there. People are not creative because they have to be (as if telling them they would not get paid if they are not creative would make anything better), they are creative because they want to be. Such HR ideas (as you can make someone work better by giving them no choice but to work better), I think, are outdated and only will resolve in self defeat. I'll say again, you will get people to do something, do it harder, do it happier, do it better, and do it again, by getting them to want to do it; not by making them have to do it. Plus such ideas completely ignore all of the commercial companies who are innovative (with software, Apple comes to mind).