When you suspect that additional sectors have gone bad you should run ' e2fsck -c ' to add any newly bad sectors to the bad blocks list that is maintained as part of the the filesystem's metadata. Certainly someone could write a BIOS to overcome the problem. Modern hard drives are sophisticated pieces of electronics. They have embedded microprocessors running programs that map their own arrangements of data blocks into an abstraction that's compatible with the BIOS representation of a hard disk. In reality modern drives are almost always more complex and far less regular.
Most modern drives store more sectors on their outer tracks than they do on the inner ones.
All hard drives have always implemented some error detection into their electronics. Some drives might even migrate data to extra sectors on adjacent tracks or heads. So, you generally won't see bad sectors on a modern drive until there are enough of them that all of the available extras on a given track, cylinder, or within a given zone, are all in use. I think that they also have at least one sector per track or cylinder devoted to maintaining the bad block remappings for that track. Most modern hard drives also have quite a bit of RAM on them.