How can I follow a path with intersections?

I want my object to follow a certain path in a loop, but every now and then I want it to take different paths.
What is the best way to do this?

So far when I’ve needed an object to follow a path with “intersections” I’ve used regular bezier curves and faked it by having only one end of the detour being connected with the path (so that it can form an actual closed loop). This requires that the keyframing is dead on, because a smooth transition needs to be faked by jumping from one part of the curve to another (only seemingly connected). There has got to be an easier way!


Can’t you just animate the change in shape of your curve with shape keys or hooks?

I might miss something here, but I keyframe position to a curve by setting the position relative to curve length. Thus, if I change the length of the curve during animation all my carefully placed position points will move accordingly.

I guess if my curve is much larger than the detour i put into it, the shift of all the positions will be small and hard to notice. I will look into it. Thanks!