In general, I think that there probably aren’t guidelines that can cover every situation in common names, so the guidelines will always be general principles to some degree. I think it helps to remember that common names are included on iNat to help users find what they saw in language that they are familiar with. iNat isn’t primarily a place to try to collate/organize all the common names in the world (though it may be one of the more complete locations for common names currently out there, this is a happy byproduct, not a goal in and of itself).
So that said, there are some limited situations where a common name should not be added to or included on iNat, even when it may be in use - namely, if the inclusion of the name has a serious potential for confusion for users or decreases usability of iNat. The example I have encountered is that a few folks in the southern US call Plestiodon skinks “scorpions”. That is a legit common name in usage, BUT, it also is in direct conflict with the widely used common name of “Scorpions” for Scorpiones.
When almost all users of iNat enter “Scorpion” they expect to see members of Scorpiones, not lizards. So there is a potential cost to including “Scorpion” as a common name for Plestiodon. And even for those folks who might use the colloquial “scorpion” to refer to a skink, they do generally know that it is different from an “actual” scorpion, so their potential use of iNat wouldn’t be seriously compromised.
I generally agree that common names backed up by sources should remain in iNat, but some evaluation of the sources and number of them is probably required. For instance, if Google search results are used as “sources”, many of them may actually be mistakes - incorrect uses of the common name. We wouldn’t want to propagate ID errors into iNat because someone was using a name incorrectly. Likewise, I wouldn’t say that one or two posts by a user on Reddit, for example, require adding a common name. People make up goofy names for organisms all the time, and there’s not a serious need to add these.
In regards to translating scientific names, some common names have been created this way, but my take is that they should edit: not be created this way on iNat. For iNat purposes, the name needs to be in use elsewhere first. If the translation is first occurring by an iNat user to make a common name where none exists, that name should not be added. Likewise, I’ve heard suggestions that people have added common names to Wikipedia and then asked for inclusion on iNat once there is a “source” (though I have never observed this myself). To my mind, this would also be “out of bounds”.
RE: offensive common names, I think this often ends up needing to be hashed out in the specific flags by people who are familiar with a given situation. To my mind, the goal of iNat is to help people find what they are looking at, so common names that some may find offensive but are in widespread use should probably still be in the system as removing them entirely will lead to confusion. You can leave the common name in but “crossed out” (example with Lymantria dispar here) so that searches still lead to it, but it doesn’t really come up in the system. I think this is a good solution in these cases. If a user adds a joke/not widely used offensive name, it should probably just be deleted outright.