I have found this a common issue too, but as far as I understand it, the defaults are chosen based on which profile is most appropriate for the app you are working on. This seems to be done according to the bundle identifier associated with each profile - the profile with an applicable bundle identifier is chosen as the automatic selection, with a preference towards a more distant profile expiry date.
Of course, this decision is not based on the device you intend to run the app on, which means the wrong profile is often chosen,which leads to great frustration on the part of the developer who then has to change the profile to a static setting and always remember to change back before committing their changes (or more often forget, causing even more frustration for the other members of the team!)
PS: If anyone else knows differently here, I'd love to know how its done!