The randomness is not random at all.
If there is plastic on the nozzle tip the Z0 result will be wrong. Trying to chase that by changing the Z offset gets 1 print done but sets up for failure on the next.
The only “work around” I can figure out is watch it like a hawk. Any filament ooze… abort and restart.