I'm the dude responsible for the infamous "50 milliseconds" here.
I agree that (1) it is overkill, (2) it could be optimised,
and (3) it is very very non-standard.
But it also works extraordinarilly well. I still am very active
with ATA and SATA driver development, and the basic Linux IDE probe
works for me on vendor hardware where their own standards-specific
routines sometimes fail (even in their windows drivers).
If possible, it would be best to let it be, and over time it will
be less and less important as SATA and kin take over the universe.
One possibility here would be to augment it with reset signature probing,
and/or a cyl-high read/write test. These could speed things up for
more mainstream cases. But I'm not going to touch what's there myself!