I guess the walk is not a walk cycle, in the sense that the bones move away from the armature's origin, he's not walking still like on a treadmill.
To make it clear, let say that you have a bone that have an action 1 which is a displacement away from the armature's origin (X0 to X+n). At frame 1 the bone will be at the armature's origin point, at frame 20 it will several units away.
Now there's action 2 (whatever it is) that also begin at the armature's origin point.
When you'll transition from action 1 and action 2, you'll see the bones jump back to the armature's origin. Blender has no reason to make the bones in action begin where they end in action 1. Only their local position (the relative to the origin) count.
So you have several solutions:
Make a walk cycle, meaning a still walk as if your character was moving on a treadmill. You'll use a Follow Path constraint to make him move on the Global space. The advantage is that it won't jump at the beginning of the next action as your bones have not move away from the armature's origin. It maybe useful to have the walk cycle but maybe a bit time consuming if you just want to fix your current problem.
In Pose mode make the second action begin where the first ends. Maybe the simplest way to fix your current problem.
Keep the actions as they are but in Object mode select the armature, move it and create some keyframes to compensate the jump effect. Not very convenient trick though...