Here's a test of how to correct the 1PPS signal out of an F9T with the qErr-value from the UBX-TIM-TP message.
When the time-interval-counter is configured with start=reference-clock, stop=uBlox, the qErr is applied with a + sign to the measured time-interval - resulting in much smoother data for averaging times up to tau=1000s.