Have you ever set Z0 incorrectly? While I agree the steps are probably detectable and noisy - the impact of the glass is pretty violent. I guess it is how you do the signal processing.
A violent impact into the printing surface is likely the last thing you want on any machine where you want some semblance of accuracy and of long term stability. You want to go slow and gently and ideally avoiding any contact at all - that's why various probes with flexible tips are used on CNC machines instead.
Accelerometer would completely suck for this - how would you detect where the vibration from the motors stop and the impact to the surface starts? Especially as the motor is likely still "pushing" when you hit it. This would be both inaccurate and messing up the (already poor) mechanics of the machine.
The simplest way to do this is a contact probe or the various inductive or capacitive sensors. If the bed is non-conductive then optical sensor could be used too.
And if your have a semi-decent machine, you don't need automatic bed leveling at all. You level the bed once and it stays put for a long time. My self-assembled Mendel90 doesn't have it and I have never had a problem. But the Mendel is a fairly rigid and reasonably designed machine where it is not difficult to keep the parts square to each other (unlike the various Prusa i3s and similar). The automatic bed leveling on the consumer printers is mostly a kludge working around the mechanical inadequacies of the design that won't stay square.