I have to agree with David. H300 will instruct the machine to try to begin 300mm above the probing point, which is unnecessary, might be impossible given the z height available and will be time consuming. Sure setting it to 50 (or 20) might make sense if you've just changed something which affects the max Z height, such as slid in a new bed of differing thickness or changed delta arms etc... and this will ensure head crashes are less likely. Also probing from 300mm above relies on your machine to be extremely accurate and repeatable over that 300mm.
Also consider changing G31 P1000 to P100 this is for digital probes a debounce interval and it need not be as long as that.
Many are getting better results with M558 P8 which removes the debounce filtering altogether.
I have found using the latest builds, the multitouch probing options offer a greater sense of accuracy, in that it will throw an error and abandon calibration if multiple probes of each point are not consistent. This prevents a problem such as a loose probe or wobbly bed, generating a nonsense calibration and the resulting craziness that can ensue.
M558 P5 I1 R0.4 F1000 X0 Y0 Z0 H7 A5 S0.02 B1
F1000 - 1000 mm/min travel speed between probing points
H7 - dive height 7mm, enough if things basically stay the same between probing sessions
A5 - probe each point 5 times at most
S0.02 - Tolerance so if probe 2 is within 0.02 of probe 1 then the firmware moves to the next probing point, otherwise it tries again up to 5 times (A5)
B1 - turn off bed heater when probing. Seems to make a difference for some - I haven't made my mind up yet.