Here's some steps that could right a sinking ship:
1) Stop integrating IE deep into the operating system, port IE to Mac, and Linux -- non Windows developers need to develop and test IE, period
2) Stop leveraging your operating system as the sole way to compete and crush competitors (you should know this already)
3) Develop non-Windows software (you need to hire software engineers that aren't drinking your own Kool-aid, ones that are willing to stand up and say "hold on maybe we shouldn't be such assholes")
4) Learn from Apple's OSX strategy -- start developing a "clean-room" Linux or BSD-based mobile operating system, make it a skunkworks project, make the sole aim of the project to one day entirely replace the Windows OS
5) Embrace altruism - provide funding for open source projects that directly conflict with your business model (something like fund development of the Hurd kernel)
A more radical strategy would be to consider breaking the company up into 3 or more separate companies. OS & Mobile, Software & Web, Xbox & Hardware. This would allow each group to innovate without the Windows-only and MS culture hamstrings.