Subtitles start in sync and slowly slide out of time? That is drift, not an offset — usually a 23.976 vs 25 fps mismatch — and a plain time shift can’t fix it. Give two lines with their correct times (or pick the frame-rate pair) and every timestamp is stretched to match. SRT and WebVTT.
Two-point sync fits the straight line new = a × old + b through your two corrections, which fixes both offset and drift at once. If the subtitles jump at a single point (an ad break or a different cut), split the file there and fix each part.