That's a tough one. You may be aware that American citizens do not need a visa in any of the ports that you listed except for St. Petersburg. In St. Petes, a visa is needed if an American citizen does not take a ship shore excursion but a visa is also not needed if an Am citizen goes with a tour guide such as Red October.
Has the cruise line been able to tell you about documentation for your friend with international citizenship? From what I understand, the visa requirements in each country are reciprocal. So if a Visa is required for U.S. citizens to visit Zimbabwe, then Zimbabwe citizens would be required to have a visa to visit the U.S. Since Taiwan would have a separate relationship from the U.S. with the countries that you listed, I hope the cruise line will be able to help. If I run into anything that indicates you can get this info somewhere on-line, I'll let you know.