I have never visited the region but I have only this advice - never assume you will revisit any port/country. There is so much of the world to see!
It has taken me nearly 25 years to try and revisit some countries and then good old mother nature intervened and I never got there - I will try again later.
The advice offered by Marc seems very sound with one slight proviso - I think it would be wicked to be in St.Petersburg at the time of the White Nights. I agree May could be very cool.