If you're still a Unity user, removing it at load time would look like this:
SkeletonDataAsset skeletonDataAsset;
SkeletonData skeletonData = skeletonDataAsset.GetSkeletonData(true);
// For all animations
foreach (var animation in skeletonData.Animations) {
int timelineIndex = -1;
var timelines = animation.Timelines;
// Look for the TranslateTimeline for the root bone.
for (int i = 0, n = timelines.Count; i < n; i++) {
var timeline = timelines.Items[i];
var translateTimeline = timeline as TranslateTimeline;
if (translateTimeline != null && translateTimeline.BoneIndex == 0) {
timelineIndex = i;
break;
}
}
// Remove the TranslateTimeline if it's found.
if (timelineIndex != -1)
animation.Timelines.RemoveAt(timelineIndex);
}
In Spine-Unity for Spine 3.7, the new SkeletonDataModifierAsset system allows you to write this as an asset, and then just add it to your SkeletonDataAsset inspectors for the skeletons that you want it to be applied to.