Currently I only run bed leveling (G32) and mesh probing (G29) manually from macros for two reasons.
They take a while and the printer seems to be doing well with just doing those processes occasionally.
My Z homing procedure...
clears mesh compensation
cancels any "baby-stepping"
homes using a end stop switch
sets the Z=0 datum using a BLTouch Z-probe
loads the most recent full bed mesh compensation file
This happens whenever Z is homed so the normal "begin print" process doesn't need any special actions related to them, it just does the normal things related to set temps, selecting tools, priming and cleaning nozzle, etc.