So I tried messing with the hysteresis network on my comparator, and I
added
some extra shielding, but still got poor results, so I went ahead and
whipped up a variation of your predictor. I think there are two things
desirable in a zero crossing detector: a large dv/dt at the zero
crossing,
and the appropriate amount of phase shift, which should be constant over
amplitude. So I just made a LR shunt like yours, but used a large burden
resistor (10ohm) to give a large signal, then clamped it with diodes to
limit the signal to a range acceptable by my comparator. Circuit
schematic
attached.