The worst thing about getting a cab in San Francisco is everything about getting a cab in San Francisco. So stop doing it, and do this: UberCab.
Started by an IT pro from San Diego who didn't know the pains of hailing a taxi until moving to SF, UberCab is as close as you'll ever get to an on-demand private driver: a Tara-Reid-simple iPhone app giving you instant access to a fleet of a dozen way-better-than-a-cab Town Cars, Benzes and Escalades that'll cost you about $5-$10 more than your average taxi trip, but won't cost you your sense of smell for the next three days. A Google Maps interface lets you pinpoint the pick-up spot with the help of your phone's built-in GPS (down to the exact street corner) then sends the closest suit-n-shades wearing driver your way, while giving you an accurate ETA, an arrival alert, and the ability to track his progress via the map while you're waiting, perfect for anxious riders and anxious government employees tracking Will Smith and Gene Hackman. Best of all, UC keeps your credit card on file and charges it on the back-end, meaning when you arrive at your destination there's no signing, no tipping, and no need to even take your wallet out, unless it's in the front pocket, in which case you'll need to take it out and put it in your back pocket, weirdo.
To keep the fleet in check, the app also provides a post-ride rating system, where you can decide whether they keep/drop certain drivers based on five-star ratings, taking into account everything from how well they know the city, to whether or not they're wearing deodorant -- usually the worst thing about getting inside an SF cab, if only you'd been able to figure out how.