Money; that's it. Lots and lots of money. $Billions. Microsoft needs to pour untold millions into marketing and co-promotion with wireless partners (i.e. directly subsidize carriers and their salespeople to encourage them to promote WP). Millions more into marketing to consumers. Millions more directly to developers to encourage them to port apps to WP (and to hire Microsoft dev's to partner with 3rd parties to help port apps). They should also be spending millions to create new developers. Identify kids who have an interest in programming; give them free tools and free training. Let them grow up as Windows/Phone enthusiasts and proselytizers.
More immediately, I think they need to simplify their device portfolio. No more 5/6/7/8/9/10 series; no more carrier variants. Make three or four phones to target the most important consumer segments. Cut deals with AT&T, Verizon, T-Mobile, Sprint, etc. to ensure carriage. Reduced assortment makes it easier to meet demand and have bigger, faster launches; to make production more efficient over time; to simplify and concentrate marketing and R&D. It also makes it easier for 3rd party accessory makers to develop an ecosystem around the platform. So when a consumer walks into a wireless carrier or an electronics store they're more likely to see a larger selection of accessories for their device. This is not possible when you have to support 10 devices.