In a highly competitive market, transaction fees, and more worryingly, the network's hash/s, will converge towards zero.
This is because a miner who discovers a new block only has to pay for the cost of proof-of-work, not for the cost of bandwidth and storage associated with that block.
That cost is carried collectively by the rest of the network. Including transactions with zero or near-zero fees incurs practically no additional cost to the individual miner.
So far, I don't think anyone has come up with a solution for this tragedy of the commons.
I don't agree with your viewpoints here. Transaction fees are and will be a market. Currently the market price is zero, pricely because network data volume is relatively low, and therefore the cost to the network is almost zero. There are some limiting factors on the growth of the blocks, however; both intentionally in software as well natural limits due to scale of the network. As the transaction volumes increase, the average fee will also increase dynamicly. Some people will be trading in a manner that requires that they get rapid verifications for the transactions, and they will need to provide higher average fees to encourage miners to include their transactions. Others will be trading or donating in a manner that does not need quick verifications, such as a trade with mutually trusting parties, donations to a charity, or very small purchases; these transactions will not pay transaction fees nearly as high, or not any fee at all, due to the fact that they can wait for days, even weeks, for inclusion into a block.
Nor do I agree that this is a commons situation. If it were a commons, there would be a resource that can be extracted, without additional costs to the node, without any practical limits; which is not the case here. Every node must contribute to the overall network just to participate, but not at an equal amount. In the future, some nodes will be 'lightweight' clients that receive full blocks, but then trim their blockchains for their own needs, keeping only the 80 byte headers to verify transactions that relate to their own trading activities, but neither generating nor maintaining full time network connections. Also, 'ultra-light' clients that keep no blockchain of their own at all, and depend upon network connectivity to a trusted provider capable of verifying transactions on their behalf. Neither of these two types of nodes contribute much to the network, nor do they require much; but they give what they get. Most users will likely use such lighter clients in everyday life, and the majority of the network will be supported almost entirely by the generating clients and other full clients whose owners have their own reasons to participate in the network as a full node, such as bitcoin 'banks' like Mybitcoin.com and verification services for the 'ultra-light' clients.