Having two *completely* separate OSes is inefficient, not the way to go. Too much duplication. But having one OS for all devices just results in a non-optimal user experience on all devices.
The correct approach is what Apple did: yes, merge the 2 OSes, but at the source code level, not the GUI level. OS X and iOS share 85% the same codebase. The same kernel, programming language, core classes and dev tools for all Apple products. And they all compile on ARM and Intel. Just the GUI toolkits differ, depending on the device: keyboard/mouse, touchscreen or TV remote.
Microsoft does not need price cuts, they need better products. And that means optimising the software for the hardware it's running on. And that means a similar codebase/architecture approach as Apple. And they should reduce the role of .NET, make it a pure Enterprise app language, sell it to companies but no-one else. Declare the Windows API as their main platform, and C++ as their primary programming language, and modernise everything and bring it up to C++ '11.