Attach vertices of a mesh to another mesh's vertices
Actually, I ditched Hooks and used Armature approach due to easier maintenance. Result:

General idea, lower cube is parent, upper - child:

To do so, add Armature object and create bone in edit mode right at the desired point of a control/parent object.
Add new vertex group and name it after corresponding bone.
Add Child Of constraint to the bone and select parent object as target and vertex group for geometry control. Click Set Inverse to eliminate excessive offset.
For a child object (upper cube) also add vertex group with the same name but another vertex. Both objects in edit mode:

Final step - add Armature modifier to the child object and choose armature object.