There are way too many scenarios here for a single post. You would be better off finding some way to break this into smaller, more atomic pieces.
In general, whenever I encounter something new to me and I’m unsure how to tag it, I look for similar things that have already been mapped, and then I mimic what the other mappers did. This approach takes some creativity. For example, if there’s a chance another location under the same parent company exists elsewhere, then I’ll hit the search box on OpenStreetMap.org to see if another one is mapped. I may also see if I can find the business’s website, which typically lists if they have multiple locations, then I’ll get on OpenStreetMap and fly to the areas where their other locations should be. If these two strategies fail, I’ve also resorted to searching outside of OpenStreetMap, such as on DuckDuckGo.
Another handy tool for discovering tags and the values other mappers are using is TagInfo.
Why do you suggest tagging a shop that sells car batteries as shop=car_repair and not shop=car_parts like you suggest for the accessory shop? I would think they should both be shop=car_parts.
Edit: After looking at the wiki, I am certain that shop=car_parts would be appropriate for a shop that sells car batteries but does not replace them. On shop=car_repair there is the language “Do not use this tag for a store that sells car/automobile parts. For that, use shop=car_parts.”