While the guys that coded this will likely call this oversimplification a 'feature' or 'optimization', it is clearly a shortcut that really cheeses out of doing the right thing.
Let me explain if anyone is unfamiliar with this issue (and by the way I did search for this issue, and came up empty handed).
You have a model with some overhangs, so you need to enable support. You obviously want to keep the support structure as minimal as possible for a variety of reasons, like not wasting material, or avoiding too many touch points to have to fix later, etc. The issue is that where on the bed the model sits will dictate how the supports get applied to the model, and not on the shape of the area to be supported. I know, it is a very strange optimization.
You would assume that the algo looked at the actual things to be supported, then would generate optimized supports exacly correct for that area. But you'd be wrong. Instead, the support structure's location on the bed is preordained by the percentage you set, and actually has nothing to do with the spot to be supported. What happens is an outline (and not a good one) is created for the area to be supported, and this outline is then used as a 'window' to allow the already calculated supports, based on the percentage you set, to poke through to hit the model. Now you know why the way the supports come out is almost arbitrary, often with areas needing support having nothing at all. Pure Unadulterated Cheddar.
So if you're supports do not hit the model in a reasonable way, shift you model on the bed slightly, and hit 'prepare to print' again, and you will observe the situation I describe above. I have to shift my model around very often to get supports that will work as expected. Of course I know I can laboriously insert individual support sticks, or let it add and then remove those I don't want. In the end, the underlying supports are aligned to the bed and not the model. The sticks are basically allowing you to define the window.
So S3D Developers, How about actually examining what needs to be supported, and generating the correct support pattern aligned for that particular area when they are needed? That's the correct answer to this problem.
PS where's the awesome new version that's been coming out any day now...