This might sound strange advice, but I actually recommend staying in one of the old Soviet monolithic hotels if you're only in Russia for a short stay. They may be huge, noisy and spartan but they add to the experience - more so than the more western luxury hotels (although I recommend the SAS Radisson's piano bar on Nevsky Prospekt for its drinks, bar snacks and ambience!)
The Hotel St Petersburg is a typical Soviet-style hotel. It's classified as three-star, and has decent enough bathrooms in each room. However, our room had two single beds placed head to head which was slightly bizarre. We also had a window facing the extensive building work the hotel is currently undertaking.
The Carlsberg Bar on the ground floor of the hotel is, although basic, a good place to people watch - there are the usual Russian prostitutes in short skirts, padded coats and dour expressions loitering in the hope that they will attract the attention of lonely businessmen (surprisingly often, they do), locals downing spirits and chain smoking, and, during our visit, Belorussian lawyers on a delegation, trying to invite themselves into the bedrooms of any Western female visitors (we declined, but were given their business cards "in case you visit Minsk next time").
Russians staying at the hotel had a disturbing tendency to wander round the hotel and bar in comfy slipper, whatever the time of day.
So the hotel's not great on luxury or home comforts, but we still enjoyed the experience. You get to see a wider variety of people than at the five star hotels, although we were disappointed by the number of Brits complaining about the appearance of the hotel. You get what you pay for!