I suppose a system that would work for me would be a tiered system with specific limits, and you simply pay for the tier you used that month. Like if they have a 1GB, 5GB and 10GB tier: say I use 800MB one month, I pay the 1GB price that month; but if I happen to use 3GB the next month, I pay for the 5GB tier, etc. This gives me a definite incentive not to abuse my data usage (which is their goal, obviously), but doesn't gouge my wallet in periods of heavy data usage.
Imagine if you signed up for a 1GB data plan and ended up using 5GB - that's 4000MB paid for by the MB. I'm not sure what a MB costs these days but even if it was only $0.05, 4000MB comes out to be $200 freakin dollars! Whereas a 5GB tier might only have cost $30 - $40. There are going to be a lot of very unhappy smartphone users if the tier system is a fixed cap with pay-for-usage above that!