In general Child Themes are meant to be used for customizations on upstream parent theme.
However views differ for specific types of customizations. Since shortcodes are related to your content a lot, it might be more robust to considering putting them into simple plugin (or “must use” plugin).