Blueprint class's Add Component order

Is there a rule as to which component should be subset of which one?

One thing I notice is, I can only get handle on sub-components - meaning I have to switch the order of the components if I were to rearrange their location in the viewport.

The root Component has no Handle because it needs a World to have a Position. Its basicly The Handle you get when you drag it into your Scene. Sub Components have a Handle because they use the Root as refference to Position themself.

You can add as many Components you like and Parent them to each other by simply dragging them around in the Component List.