Remember that summer time in St Petersburg is very popular and although hotel situation is getting better all the time, accomodation might sometimes be a problem. For St Petersburg's accomodation, I would use the service of a travel agent. I wouldn't go for the cheapest place because it might be in the suburbs (even if the subway system is good, you might have to walk a lot). Hotel St Petersburg and Moskva are among the most popular ones for mid-budget tourists.
Also remember that Pulkovo airport isn't the most accessible place, even if it looks like it's near a subway station. The taxi's at Pulkovo will be charging much more than normal taxis downtown.
For sightseeing, I would recommend boat trips on the canals. Also remember that museum entrance fees for tourist are higher than for locals. Sometimes it's better to have a pre-arranged sightseeing.