It seems like there are really only two options in SF: Very expensive or very cheap. For cheap, I'd stay at the hostel on Fishermans Wharf. You can get a private room for about $80 and its easy to get around as it's on the end of the cable car line. http://sfhostels.com/locations/fishermans_wharf.php
For the very expensive, but still a deal, you want to stay at the Fairmont, which is a SF landmark, and a beautiful hotel. Go to www.fairmont.com, and join their Presidents Club. It's free, but once you log in the "members only" website, you can get some great deals. As an example I stayed at Jasper a few weeks ago, and I looked at expedia, travelocity and the hotels site itsself and all had the same rate. I then checked the members site to see if there were any deals, and the room was half the price, and it included the breakfast buffet, which was $30 by itself!
I just checked, and you can get a room for $203, which is an excellent price for that hotel. Another option is the Palomar, right on Market street. It's a nice hotel, but costs more than the deal at the Fairmont. When you're in Toronto, have a look at the Royal York, it's also a Fairmont.