We organized a Baltic cruise (Celebrity Eclipse) with another couple who have not been here before. We went several years ago and only had one day in St Petersburg so we knew there was a lot to pack in this time, even though were there for two days. We also knew that the trips organized by the cruise lines are overpriced and impersonal so decided to look at 'going alone' - St Petersburg Private Tours. If you look on the Internet it seems that you have to go through all sorts of visa hassle to go independently and it is easy to be put off. Don't be.
We were lucky enough to run into someone acting as a tour guide on a trip to Amsterdam who turned out to be living in St Petersburg. So we asked him to recommend someone. He put us in touch with Alexei from MaxiBaltTours and everything went smoothly from there. We had some idea about what we wanted to see and they had suggestions as well, so by an exchange of emails we came up with an itinerary. They emailed us a ticket which we printed out and presented at the immigration desk, so there was no problem with Russian visas.
Alexei met us and took us to an evening show. The next day we had a minibus with driver and the fantastic Maria as our guide for the four of us. We got to go at our pace and do what we wanted to do, managing to miss the worst crowds in the process. I thoroughly recommend MaxiBaltTours as the bes way to see this fantastic city.