Also, have you considered implementing my major/minor abilities for determining classes? Basically, every class has two major abilities, and any number of minor abilities. Any dino with a class’s major ability is automatically assigned to at least that class. For example, distraction is a major cunning ability, so a dino with distraction must be at least cunning. For the minor abilities, any dino can have any one minor ability from any class without it affecting their class, but having three or more acts like a major ability. For example, Ferocity and swap prevention are both minor fierce abilities, so a dino like Sarcorixis with otherwise only major resilient abilities (deceleration) also gains the fierce class from having these abilities as well. If a dino has only minor abilities, they are ranked equally like major abilities (so for example Tsintaosaurus would be Fierce-Resilient). The wild card class is only assigned when all three classes are sufficiently represented (a combination of at least one major ability and/or three minor abilities from all three classes). Some abilities (like nullify all or cleanse all) are neutral and can be on any class, so a dino with only neutral moves would also be a wildcard.
I actually made a Google sheet that calculates this automatically. I’d be happy to share it with you if you DM me. At the very least, I totally agree that they need to be more objective about how they assign classes.