All 100 would still be in the group in question, but 99 would have that group as their primary group, one would still have their old primary group as their primary group.
I’m not saying they should alter the current check box’s functionality. Instead, they should add a second option to set it the group as a primary group only if the user does not currently have one.
This will in effect create a helpful hierarchy of groups (1) Top level that always become primary when joined, (2) ones that will become primary if the user has no other primary group, and (3) low level groups that never become primary groups automatically.
Best practice imo would be to have a small number of important (1) top level groups, set virtually any group with flair as a (2) semiautomatic group, and use (3) non-automatic groups mostly for admin selecting/permission groups.
Nothing is special about a primary group other than it being set as that user’s primary group. As far as I am aware, any group to which a user belongs can be set as a primary group.
Having a place on the profile to select your primary group would be really nice. We would probably want to have an option on the admin side “allow users to select this group as their primary group.”