These $2 Million currently come from Steemit Inc.'s Steem stake being sold and as a result pushing down the price of Steem decreasing the rewards pool for everyone. What if we raised the witness rewards dynamically to over 10% while the price is low and decrease them when the price is high as suggested in my previous comment?
Then witnesses will be selling stake instead, pushing the price down.
What if we introduced a new model: Nodes are freemium and accessed with API keys. Each developer who wants to access the public nodes can apply for an api key (or something similar tied to account keys), usage is tracked and if it exceeds certain limits the developer can choose to pay for higher limits or run their own private node?
Now you are talking. I suggested elsewhere the possibility of a free tier with low limits (like AWS has) and the owner of buildteam, which is one of the companies potentially interested in providing node service as a business (if Steemit stops undercutting them with unlimited service at the unsustainable price of zero), responded favorably. I'm pretty sure that we can come up with a solution (maybe 'free tier' maybe something else) for students and independent devs who want to experiment without needing to pay a lot for 'commercial grade' service. Nobody is against that.