I always stay with family when I visit, so I don't have a lot of first-hand experience with the accommodation in Stockholm. I'd advise checking out AirBNB as well as hotels though.
- For a central location, stay in Norrmalm or Östermalm.
- The best spots (and also most expensive) are on Blaiseholmen and around Nybroviken.
- There are plenty of places around Centralstationen (Central Station) on Vasagatan as well.
- Some hotels that I hear are decent: Freys, Royal Viking, Diplomat, Esplanade, Hotel Skeppsholmen, Haymarket, Miss Clara, Kung Carl, Berns--and Grand Hotel of course (though very expensive).