SW - as the owner if a bike with a non standard headset I hear what you say. But if I look at websites like chain reactoon, wiggle, evans etc I see that almost all of the bikes are made with standard parts or even exactly the same parts and only differ by the logo.
Re chainring size, well - yes of course if the size if the chainring is changed radically or if a bike is designed with a very big or very small chain ring in the first place this changes the angle the front mech engages the chain. (In any case it might make some designs of front mech foul on the frame).
It remains the case however that as far as chainstay angle is concerned almost all road bikes use front mechs with the same spec and almost all traditional 26inch mountain bikes uses a front mech that has a slightly different angle. 29ers either have an adaptor or use the road bike angle. So for practical purposes the answer to the OP is buy one that is generically correct for the type of bike and it will work almost all of the time.