Converting all static shortcodes to their static representation at the moment of generation. This plugin could alter your database posts.
WARNING: This script alters the database content so use at your own responsibility! Backup your database first.
Shortcode Freezer. If you have a website with content based on shortcodes and this content generates some static data (i.e. authors, pricing, buttons and other listing that just provides html markup with a 'short code'), then feel free to convert that to the static values before switching themes. This would evaluate the shortcodes and generate the HTML markup and replace the database posts with the evaluated content.
Keep in mind that it would not work with dynamic listings that generate dynamic content - they would 'freeze' and will not be dynamic anymore.
You can switch themes without worrying about shortcode compatibility. Once the markup is generated and embedded into posts, your data would be visible and you can style the markup in the new theme.