Let's be blunt.
If you have an iPhone, you only have one other option: Jailbreak, Unlock, and T-Mobile on Edge. Other than that, jailbreak, unlock, and move out of the country. Verizon won't handle a GSM phone on their CDMA network. Sprint won't either, as the hardware is incompatible.
Second, I'm in Sacramento (Folsom, to be exact), but have to make frequent trips to Redwood City. with the exception of between Fairfield and Vallejo, I get a full signal the entire way, including going past SFO (in that pass between Fairfield and Vallejo, I drop to 3 bars). I have never had any horrible service with ATT through the entire US 101 and I-80 corridor. I've even had full bars going down I-5 through Central California (only place where it dropped was around Kettleman City; even the Grapevine had great service), so I can guarantee that service in the Bay area is great.
As far as the bill, that's on you, not ATT. You may want to check that, not blame ATT for something that you're using more of and they are charging you for.
BL.