There is indeed a world outside of Linux and mobile, and most of that world doesn't have a problem working with C99 and C11. Windows is - as with many other things - the exception, and it's getting tiresome.
There's no way Windows developers are going to stop using Visual Studio - and rightly so, because it's a very good IDE. So there are basically three things Microsoft could do to resolve this situation and let Windows developers make use of modern C code:
1. Update their C89 compiler to a newer C standard. This is unlikely, and probably a lot of work for Microsoft (I'm guessing they'll be removing the C compiler from one of the next releases of Visual Studio).
2. Add support for essential C99/C11 features to their C++ compiler, such as designated initializers. This would still force us to compile our C as C++ and do nasty things like casting the return type of malloc, but it might be the easiest solution.
3. Switch to a modern, open source C compiler like Clang. I would be very surprised if Microsoft would do anything like this (else IE would be using WebKit already).
So we're basically forced to either butcher our C code to make it compile as C++, or write C89. Or drop MSVC support, making our projects difficult for Windows developers to work with.