The hyper anarcho-capitalist mentality that often comes along to the crypto space seems to greatly take for granted the availability of public nodes and doesn't realize they are public goods. Then they download free wallets and expect them to work -- and since it works, no one questions how it works. Yet, these wallets are often reliant on some foundation or altruism. Cryptos often die when this support ends.
Should successful businesses run their own public nodes as well? Yes, absolutely, there should be more public nodes. Having decentralization means that services do not have a single point of failure. Though if you believe that private nodes for private applications means decentralization, I think you have the wrong model in mind -- this is not decentralization, this is a single point of failure (and a position where the application can censor its users however they like). For an application to actually be decentralized, you need to be able to use it in a permissionless way.
The unfortunate truth about steemd nodes is that the setup is dumb and the API is shit. Asking a business to begin by doing this and detract their focus away from what they are good at is a waste of resources (until they have resources to spare). So I think one would be misguided to think that startup businesses and projects "won't run their own nodes" if they get public service. It's more simple than that -- many businesses and projects "won't run, period" if there aren't public services.
The blockchain itself is indeed a public good -- but this means both read and write access should be. Consider a wallet as an application. How should the wallet read and write to the chain? Well, we could envision a model where the wallet is for-profit (say, purchased on the app store) and the owner is a business that also runs nodes for their wallet users. But, this means that the wallet is reliant on a single point of failure -- this business and their nodes -- for it to continue to work. This is not a decentralized application. This is not a public good. If all access to a public good requires going through privatized routes, is it still a public good?
A decentralized application is open-source and open-permission. Sure, it's something you can run your own node for should you choose -- and for purist decentralization everyone would indeed run their own node. But having a public API means you don't have to, having multiple public APIs means you have can even have trustless decentralization available to you -- you are not reliant on any one entity to use your wallet.
In my mind, a successful version of Steem has all witnesses offering excellent API nodes to the public for their use. Witnesses are not only the decentralized authority for putting information into the chain, they can also be the decentralized authority for providing information to the users, removing the need for all users to run their own nodes.
RE: Proposal: Funding for anyx.io API Infrastructure Recurrent Costs