GPSDO control algorithm
Your wish to use a software solution suggest that no hardware be added. That's a tough spec. So what hardware is offered within a common microcontroller that might be re-applied to resolve a time span under 100 nanoseconds?

An experiment was tried with Microchip's 16F1455 microcontroller. Its analog-to-digital converter is a successive approximation type with ten-bit resolution. The sampling window from the data sheet is not well-defined, but could be short enough to charge the internal sampling capacitor quickly. It might be quick enough to sample the 1pps pulse of the GPS output, and provide time resolution better than 100 ns.

The experiment clocked 16F1455 with a 10 MHz fixed crystal oscillator. The A-to-D was set to sample a function generator input square wave signal. Function generator frequency was set close to the sampling rate of the A-to-D converter, a period of 409.6 microseconds. The function generator provides a five-volt peak-to-peak square wave with +2.5v DC offset, terminated with a 75 ohm resistor at the processor-end. Amplitude is set slightly less than 5v, so that “high” voltage yields a result slightly below the 1023 maximum count, and “low” voltage yields a result slightly above the zero count:

 UART output allowed A-to-D samples to be collected by a PC.
Here is the sub-sampled output showing the function generator's square wave. Of interest is the square wave rise time and fall time. Rise time becomes a ramp-like rise, spanning about 4.5 samples. With an A-to-D resolution of one part in a thousand, time resolution of about one nanosecond is possible with this sampling technique.:

 Improving time resolution from your 100 ns to 1ns should enable you to reduce phase-locked-loop settling time for the OCXCO. This is a kludge solution since the internal A-to-D sampler is not specified for this service. But it is one way to improve time resolution without extra hardware.