Customers not on a contract and willing to avoid AT&T, Verizon and Sprint can avoid quite a bit of fees. E.g. T-mobile has a $30 plan for 100 minutes, 5GB of 3G (and EDGE after that), and unlimited SMSs. The 100 minutes is problematic, but I use Google Voice so I can just use my computer for phone calls at home. And at $0.10 per minute overages, it's still cheaper than any of the contract plans.
There are also other carriers in the US with cheap plans if you're willing to shop around.