I also did a FAT-12 PC bootsector in 512 bytes:
formatting link
This code requires that the second stage or kernel or whatever be in the root directory, but it need not be physically contiguous on the disk.
FAT-16 wouldn't be too different, but I agree that a FAT-32 bootloader probably wouldn't fit in 512 bytes.