Here are three examples of how to place something on a surface. If the Surface is not responsible for the orientation of the object, then it might look disconnected. So, there is a decision to make, is the object’s orientation more important than the connection to the object.
Example 01 shows the relation to four points of the surface. These points need to be chosen close to the shape of the object. The points just give it a position in space, ZERO orientation! With no orientation, the object will not lose its orientation ever, it follows only the position. Rotate the sphere to see what I mean. Any axis you will use to rotate will have no luck doing so.
Example 02 uses a target to give the object a direction as well, and the Sphere’s R.H and R.P will influence the attached object. R.B has not.
Example 03 here, the target also has the information of an UpVector. Now all three rotations are included.
If I get this right, you like to work initially with Joints. Instead of weighting them more smoothly (according to what you wrote), you place a Smooth Deformer on the object. Instead of using a joint for the beacon, you try a Surface deformer. You could use the IK stretch and squash to change the size of the object along the joints. Then animate all of them via Pose Morph or with the Pose Library Browser.
All the best
Just a little idea (edited 2pm PTD)
Click thumbnail to see full-size image