How to scale an object relative to a moving Empty's coordinate system?
You were right with your initial intuition about using a Child-of Constraint.

Here is the somewhat limited method of sucking in an object by scaling an Empty that the Child-of Constraint is using:



The limitation with the method described above is that moving the Empty also relocates the object, even when the "suck-in" effect is not being used.

The solution to this is to keep the Empty scaled down to zero all the time and instead use the Influence Slider to control the effect. The Influence Slider can of course be keyframed for animation.



Tip: Enabling "Display: All Object Origins", and also using the Outliner can be helpful for selecting objects in their scaled-to-zero state.

Download the .blend here:

https://blend-exchange.giantcowfilms.com/b/2892/