reading non-standard floppy formats

> Is there a saner way of reading non-standard (e.g., 10 sectors per track)
> floppies than either
> a) building a custom kernel with modified fd_types in sys/dev/isa/fd.c
> b) writing a user-space program that sets the appropriate parameters with
> FDIOCSETFORMAT and then, holding the device open, writes the raw floppy
> data to a file?
No-one?
Does this mean there is no saner way or am I missing something so obvious
that no-one wants to answer?