How to bake softbody animation into keyframes?
You can't bake softbody into keyframes anymore, blender uses shape keys now. So you would need to generate a shape key for every frame of animation and also keyframe that shapekey to its frame. You do that with running this script:

import bpy

obj = bpy.context.active_object
start = bpy.context.scene.frame_start
end = bpy.context.scene.frame_end

def insert_keyframe(sk, f):
    sk.keyframe_insert("value", frame=f-1)
    sk.keyframe_insert("value", frame=f+1)
    sk.value = 1.0
    sk.keyframe_insert("value", frame=f)

meshes = []
for f in range(start, end+1):
    bpy.context.scene.frame_set(f)
    meshes.append(obj.to_mesh(scene=bpy.context.scene, apply_modifiers=True, settings='PREVIEW'))

obj.shape_key_add(name="Basis", from_mix=False)
for i in range(0, end-start+1):
    key = obj.shape_key_add(name=str(i+start), from_mix=False)
    insert_keyframe(key, i+start)
    for vert_id in range(len(obj.data.vertices)):
        key.data[vert_id].co = meshes[i].vertices[vert_id].co

for mesh in meshes:
    bpy.data.meshes.remove(mesh)


Don't forget to turn your modifier off or to delete it (or it will override the shape key animation)

Also you can export your softbody animation as an New Tek's .mdd mesh cache format (export addon will do this) and load this file into Mesh Cache modifier. This allows you to for example offset the animation and further manipulate it.