I don't really get why MS treats Windows gaming and the XBox as separate and competing entities. Why not instead make them complementary? Making it so that Windows just simply can run XBox One games.
Instead make it so that XBox One and each console iteration thereafter sets a standard for Microsoft gaming. That way any game with an XBox One label will achieve a standardized minimum acceptable framerate on any XBox one at 1920x1080 at medium settings and 2x AA or something along those lines. Then if a gamer has a computer that can blow the doors of the XBox one they can play the game on Windows instead at much higher settings or if their computer is worse they can play at lower settings assuming they meet the minimum requirements. If a gamer doesn't want to worry about specs or spend a bunch on a gaming computer they can just get the XBox One and XBox One labeled games.
MS can still get it's money by only allowing MS signed titles play on the XBox One. That way they still get the same compensation per game that they receive now. This would probably be better for MS in a lot of ways as they won't lose a bunch of money on consoles as they are sold below cost for a couple of years. While more games will sell as hardcore PC gamers will have more titles to choose from and others with great computers will have more money to spend on games.
Plus now you'll have more potential gamers. Those with computers powerful enough or just need a video card but can't afford a new XBox one. Meaning even more XBox One game sales which MS gets a cut of.