I did a Baltic cruise last September - and had 2 days in St Petersburg. I think you have to accept that there's way more that's worthwhile to do in 2 days and decide what your priorities are. I hope I will have the opportunity to go there again sometime.
Anyway, for me the highlight was the Faberge museum - absolutely stunning. Only has about 6/7 galleries, with one main one with the eggs, other galleries have general Faberge stuff, also other Russian artwork and treasures. . It was one of the half day options - am so glad I did it.
I also went to the Hermitage, but really it was just a rush through, but interesting going through the entrance etc. I also went to Catherine Palace, we walked in the grounds, and inside went through a few rooms - including the Amber room.
Most other sites we saw/were pointed out from the bus. I would have liked to go on the river but just no time.
Another thing to look into, on the night when you are docked, there may be something you can go to in the evening. Unfortunately we missed being able to go the ballet by a couple of days.
On my cruise there was a lecturer, who was excellent - so that those who had attended his lectures were all really knowledgeable about Peter the Great, Catherine the Great, Tsar Alexander II, Rasputin and the last Tsar and his family etc. It really added to the trip to St Petersburg. I would look out for anything like this on your cruise.