Have had good stays at the Banks Mansion, on Vijzelstraat, an art-deco style hotel with an excellent 'living room' and all-inclusive concept (that means free booze too...) It's quite pricey, though.
For slightly less, I like the Eden Rembrandt Square: it's pretty new (about a year old), stylish, competent and central. It's on Rembrandtplein, which is a tacky tourist centre, but that does make it great for people-watching out the (well noiseproofed) windows. Note that this hotel is not the Eden Hotel! It also has a rather good French Brasserie as part of it - worth going to anyway if you like shellfish.
You mentioned gay areas: both hotels are a short walk from Reguliersdwarsstraat.
Other nearby restaurants: there's a clutch of good ones on Utrechtsestraat (happily walkable: just try pronouncing it to a tram conductor or taxi driver), particularly Tempo Doeloe for Indonedian food. Zushi, just round on Amstel, is hardly typical Dutch, but is a rather good kaiten place. 't Vijf Vlieghen is a good Dutch option, if that's what you're after (I do prefer Indoniesian if you're going for a 'local' thing though). If you fancy steak, Cafe de Klos down on Kerkstraat does a mean t-bone.