Fixed in 1.2.2 for straight tracks by prioritizing which signals it starts marking long tracks for. Signals will stay at the same heights if your train length is an integer multiple (including 1) of your train length. They also both have to be even.
Won't fix when there are curves in the tracks. As the logic to detect what a parallel line is, is out of the scope of this mod.
Offset by one was basically because some signals were placed on odd tiles and others on evens. And there were a few <= vs < errors here and there.