I just don't understand this attitude. Everyone acts like data costs nothing to transmit and that the infrastructure to improve the network and handle higher capacities costs nothing.
This is why laptop data plans have ALWAYS had limits - because the potential to move large amounts of data was always greater.
Network strain is not a problem that's going to dissipate - you are absolutely right. The question is, then, who should pay for increased capacity? Should we all pay equally, or should people who use more capacity pay more? I think the latter makes more sense. Pay for what you use. I'm not saying that carriers should cancel unlimited data contracts, but they should stop offering to activate new ones and not renew contracts on existing ones.
I use around ~500 MB/month in data. I spend much of my day on WiFi at my house and my office. I generally don't transfer videos or large files across the cellular network, and rarely stream audio. Why should I pay the same amount as someone who does all these things.
Carriers need to come out with tiered pricing, such as:
$15 for 1 GB
$30 for 5 GB
$60 for 10 GB
And so on. To make it easier to sell to the public, offer an option below the cost of existing data plans.
I just don't see how unlimited data makes sense, when you're looking at the big picture.