Heirarchy of constraints

This is something that has made me a little crazy about SW since I started using it. There does not seem to be a rhyme nor reason as to what constraints over ride another. You can have an entire assembly with a bunch of constraints. Insert a new part with no constraints, mate it to a part in the assembly and if the assembly is not 100% nailed down the whole thing sometimes move to the new part. 

On top of that it does not seem that there is any "Preference" to order or type. Does such a heirarchy exist at all? Seems to me that the follwoing *should* apply.

1) A lower part in the tree should mate/move to a higher part in the tree. This is really no different than what features in parts do.

2) Their should be some order as to which constraints are above other constraints. Coincident over tangent and so on. I think this would make figuring out mate conflicts much easier. 

3) Parts with mate conflicts should still mate based on the heirarchy in #1 and #2

And I'm never giving up on my wish list for both Inventor and SW that they add "Temporary mates". Mates you could locate something with that would be removed or over ridden and marked when a permanent mate is added. I do this all the time. I drop a block in, locate it from the edges to see if it's what I want, alter it etc. Then I go back and add dowel/screw hole and mate it by those. My "Temporary" edge mates would just go away or be marked for removal. 

SolidworksAssemblies