I think most of MS's biggest problems are symptoms of its size. MS has had empire-itis from the beginning. From their original mission statement, through their huge acquisitions, through their refusal to spin off substantial portions of their company, their approach to competition, etc, etc. If they had been organized differently or if they had been split up into different corporations as a group they'd probably be better off today. Not least because each group would have the freedom to make the choices they need to (free of the MS overarching strategy straight-jacket) and they'd have the motivation to build truly great and disruptive things, rather than the relying on the usual strategy of getting it sorta-kinda right on the nth try through sheer brute force (read: massive investment from Windows/Office profits of the past).
P.S. Also a former MS employee, for what it's worth.