I think you're being far too pessimistic.
First, build the infrastructure to support amazing things. (Asm.JS, WebGL, WebRTC)
Second, encourage people to spend real money developing for it, however they want to. (Unity 5)
Third, the open source competitors come around. (???)