I was directed to continue this conversation here (I started a separate thread, not knowing there was one already for this issue: https://forum.inaturalist.org/t/identifications-that-include-a-subspecies-ignored-in-observation-id/8926)
I think this could be solved computationally without being overly complicated:
If the designation “research grade” is restricted to the species level as the lowest possible taxonomic level the subspecies could simply be ignored when calculating whether an observation is research grade or not. In the definition of terms it would have to be made clear that the designation “research grade” is only applicable to the species level (or higher), and that any subspecies identifications are an independent, additional piece of information.
The community ID at the subspecies level can then be computed independent from research level calculations. It can still be done based on the same rules but it would be independent, and it would only take place when the observation ID has reached the species level (regardless of research grade or not). A subspecies ID can then be added to the observation ID unless it is contradicted by one third or more of subspecies IDs that apply to this species (subspecies IDs pertaining to other species can be ignored if there are any in the previous determination history).
In a nutshell: subspecies calculations are kept separate and research grade is a designation that applies to the species level as the lowest possible taxonomic rank. I think this approach is logically sound. I am not a computer programmer but I don’t think this would be complicated to implement or draw excessive resources to calculate.