There does seem to be a fair bit of information out there on tool changing. This is a fairly recent post. New to Tool Change, What's Missing?
Many notes tie back to @NeilFerreri macros – CNCjs-Macros/Initial & New Tool at master · cncjs/CNCjs-Macros · GitHub
And while I agree with the adage of “if it ain’t broke, don’t fix it” I do wonder if in the intervening 5 years and with the introduction of grblHAL if there are any desired modifications out there.