A snakelike group of Objects running on the same path
In the not so extreme case you might consider an armature with a one to one correspondence between and object and a particular bone. Spline constraint.
In the not so extreme case you might consider physics in the comment above.
Consider a [Follow Path Constraint] and .  Enable [x] Fixed position of the constraint.  Keyframe Offset.  (You have done that already)
In the [follow path constraint] case ...place keyframes on each object in the constraint in staggered (shifted) time form.  The [Follow Path Constraint] can be used with no deformation of the object. 
Consider adjusting the off curve control points of your keyframes in the graph editor for more control.
The image below shows 3 object with a follow path constraint to the same path.  The dope sheet shows the staggered keyframes.  This is a slightly simplified view. You many not want the speed up and slow down associated with Bezier curves.  And the objects may have different starting and ending keyframe values when spacing is a requirement.





Read this bullet at your own risk.  By staggering form I mean the following.  Object[N] (where N is in the set of numbers (1 ..K)), Q is another convenient static positive integer for pausing, may have keys on frames [math formula ((N-1)*Q) and (N * Q)] approximately.  The keyframe values would be [0.0] and [1.0]. Yes that paragraph is not easy to read.  
If you have a few objects to place, (&lt;20 perhaps), the above can be done by hand.  If you have more than that a Script might be worth the cost.
Once those keyframes are placed and correct they may look like bumps and inclines ... just translated in the positive x direction in the graphs editor.