Theres no right way to do it. This is just something the rig builder has to take into account in the development process. If not then theres no guarantee it will ever work. So just taking any rig and assuming it can scale is not possible. More on that later.
There is however a generic pattern on how one would go about that works in 80% of the cases due to the fact the designers seem to all follow the same tutorial base. So basically:
When the rigger rigs he has 2 containers where he groups things (yes there may be more but basically because theres just 2 options at a more generic level for this purpose that's all you need)
Bound stuffUnbound stuffthere might be doubly bound and triply bound stuff as well as self bounds but for the purpose they all behave like bound because at the end of the day they must be presented as bound or it will just never work at all. So what is done is these 2 things are dropped into separate hierarchy. This is the rig makers job and if you try to do it later in life you wil need to know how the rig was built, so usually its no longer feasible.
If for some reason these baskets get mixed up then basically what happens is the rig becomes useless. Thus any rigger worth anything know this intuitively, if they don't they learn fast or learn not to do rigs. Because their rigs fall into disuse faster than you can say boo.
Now the trick is that ALL of the control structure is in the unbound tree And all you SHOULD need to do is scale the bound stuff transform (group*). Now for practical reasons peopel dislike this so what they do instead is:
CODE
BaseTrasform +-- Bound Stuff
|
+-- Unbound Stuff
Then they open the attribute editor for Bound stuff and tick the inherits transform off. All is now packaged into one. You can then just drop a shape under transform (to make it a Object**) for a base control. Incidentally by ticking inherits transform off allows you to move stuff from bound to unbound tree.
Now i said its not it possible to assume a rig can be scaled. Well that's true but all rigs can be re factored into scalable rigs. Somebody just need s to go and look at each and every node in the dg graph and move them to the appropriate transform space. This issue is by the way related to double transform, if you can solve double trasform you can solve this, and vice versa.
ON SCALING SKELETONS
Skeletons are very special transforms, they lack certain aspects of standard transforms (they don't pass on scale made by themselves). So to scale a skeleton you need to parent them under a normal transform, and scale that. This will rescale the space right.
*PLEASE NOTE: Maya has no such thing as group, sure theres a menu item called group (its more there to make beginners at ease than anything really useful) but the entire concept is nontransferable to Maya terms as you would loose sight of whats really going on. So for the purpose of a rigger theres NO SUCH THING. If he thinks there is then this is just one of the problems that will arise.
**Hahaaa Object also does not exist, if you think it does think again