With the app gap I really think Microsoft should address it by:
- Supporting Android apps on WinMo 10.
- Incentivize devs to write UWAs by adding back hubs and things that made WP unique and useful. That also means it needs to be super easy for devs to plug into the hubs and "light up" WP. This is much like what Google is doing with Google Now. And similar to Google Now Microsoft will need to make hubs, Contana integration, etc useful all by itself rather than continuing to play catch-up and appear as an "also-ran".
- Buy Xamarin and offer their tools for free. Make it easy for devs to choose to make Windows development the center of their app strategy and benefit from being able to release for iOS and Android to boot.
In the end they need to give users what they want in a phone AND make it super easy for devs to make Windows development their first choice. With the plethora of iOS and Android devices in existence today its a difficult proposition for any mobile developer to start with Windows and UWAs over iOS or Android. Once a development strategy is entrenched it's really difficult to make a significant change.
Unrelated: Microsoft should tell Balmer to shut the h3ll up.