The min transaction fees help, but as I understand it right now the UXTO is kept in RAM on pretty much all implementations, whereas the blockchain (the thing polluted by gambling sites) is stored on disk. So the issue is that RAM is far more expensive/scarce than disk space, and the addresses you generate will be stored indefinitely in RAM on all clients (assuming clients don't figure out how to prune them).
True, RAM indeed is a problem. I have to regularly restart one of my stationary laptops that runs bitcoin-core because it crashes after a week of uptime, throwing some system error. If the number of unconfirmed transactions becomes too big or starts taking too much memory then why not put that in a file too?
I think such a big change would be very controversial in the Bitcoin community. A lot of people like the idea that you can store coins on a paper wallet and know that you could come back to it 10 years later without any "maintenance".
Yes, I also suggested that idea to the PeerCoin community. However, if you think about it, sending a small TX once in a year to your cold storage addresses is really not that difficult. You would obviously check your cold storage anyway to see whether it is still there and intact. If a year is too short time then make it 5 years. The point is not to penalize cold storages but to prune unspendable dust transactions.