Hola ruben.
Nosotros Berlín no lo hemos hecho, ya lo conocíamos y nos parece una pasada perder casi 7 horas en los viajes de ida y vuelta. No sé si alguna agencia externa lo hace, pero con lo de la comida en Berlín no hay ningún problema, está plagado de restaurantes de todo tipo. En Sanpetesburgo, en la avenida principal hay restaurantes, incluso un Burguerking, pero nosotros por comodidad las dos veces hemos comido con la excursión. Te llevan a un sitio de menú, y ruso, por lo que la comida puede resultar especial pero no tan rara (una ensalada, una sopa de patata o así, y un segundo de carne y postre, agua y pan). Lo de llevarse algo del barco siempre es una opción.
Como alternativa a Berlín nosotros hemos hecho en las dos veces que hemos ido, Schwerin y Rostock, y la última vez Wismar. También nos hablaron de Stralsund. Hay que ir en tren desde Warnemünde a Rostock y luego otro tren a cualquiera de estas tres (hora y media o dos horas como mucho contando con los transbordos) pero son ciudades interesantes y turísticas de Alemania, especialmente Schwerin.
Saludos