I have sometimes thought about a snapping for scaling. The model simply snaps the scaling when any selected vertex comes close to another. Like if you scale a circle in another circle, the inner circle will snap when any of it's vertices comes close to the outer one. Basicly each vertext movies in it's own direction and snaps when it comes close to another vertex.
Anyone else thought about this? There could be an option if the vertices should snap using their own axis which is dependent on their direction or if they should snap from the worlds axis. With the later one you could make any shape if perfectly inside a container.