OK, after much consideration, I have ultimately decided that the best route for my second German trip is to leave no stone unturned in Germany. So Salzburg may be in a future Austria trip! 
In any case, the final plan I'm considering is...
8-9: Flight Barcelona-Munich. Natural history museum and Tierpark Hellabrunn; night in Munich
9-9: Train Munich-Nuremberg. Nuremberg zoo; night in Nuremberg
10-9: Train Nuremberg-Tübingen; Palaeontological collection. Train Tübingen-Stuttgart; night in Stuttgart.
11-9: Wilhelma. Night in Stuttgart.
12-9: Natural History Musem Stuttgart. Train Stuttgart-Karlsruhe: Natural History Museum + Tierpark Oberwald. Night in Karlsruhe.
13-9: Karlsruhe zoo. Train Karlsruhe-Walsrode. Night in Walsrode.
14-9: Vogelpark Walsrode. Train Walsrode-Osnabrück
15-9: Zoo Osnabrück + ZOOM Erlebniswelt + Zoo Dortmund; night in Duisburg (may be over-ambitious)
16-9: Zoo Krefeld + Zoo Wuppertal (if there’s time, +Zoo Duisburg). Flight Dusseldorf-Barcelona.
Let me know what you think of this plan!
In any case, the final plan I'm considering is...
8-9: Flight Barcelona-Munich. Natural history museum and Tierpark Hellabrunn; night in Munich
9-9: Train Munich-Nuremberg. Nuremberg zoo; night in Nuremberg
10-9: Train Nuremberg-Tübingen; Palaeontological collection. Train Tübingen-Stuttgart; night in Stuttgart.
11-9: Wilhelma. Night in Stuttgart.
12-9: Natural History Musem Stuttgart. Train Stuttgart-Karlsruhe: Natural History Museum + Tierpark Oberwald. Night in Karlsruhe.
13-9: Karlsruhe zoo. Train Karlsruhe-Walsrode. Night in Walsrode.
14-9: Vogelpark Walsrode. Train Walsrode-Osnabrück
15-9: Zoo Osnabrück + ZOOM Erlebniswelt + Zoo Dortmund; night in Duisburg (may be over-ambitious)
16-9: Zoo Krefeld + Zoo Wuppertal (if there’s time, +Zoo Duisburg). Flight Dusseldorf-Barcelona.
Let me know what you think of this plan!