Correct me if I'm wrong, but if we start handling drives at firmware level isn't this going to get a lot more complex with most drives having space only accessible by the drive (for relocating bad sectors etc.?)
True. This is something that could be done for a couple of harddisks at some point (even if it's just to show that it's possible

)
But you probably don't want to do this for the majority of harddisks because a) it's just too many and b) documentation for the CPUs/MCUs used is almost non-existant in the wild (even more so for really old harddisks)
So in a few years MESS might have 1 or 2 harddisks with "lowlevel" emulation and one generic harddisk that can simulate every other hdd required to a certain level of detail (which is most probably good enough for all emulated systems)