I don't have much time, so I'm going to be brief.Schol-R-LEA wrote: they also allow the boot loader proper (as opposed to the boot sector) to be anywhere in the file system, provided the boot sector can find at least enough of the boot loader to load and execute it - as seen with MS-DOS and FAT. So long as the FAT boot loader for an MS-DOS system can find the first entry of the FAT, it can find the start of IO.SYS - and that's all it needed to do. There are several other ways to do this, such as actually having other reserved sectors containing a second stage boot loader capable of actually parsing a FAT, so how you do it is a matter of choice.
The crux of the problem (for bootloaders) is that you have to store a pointer, in the bootloader itself, to the second (next) stage. In the FAT explanation you gave that would be a hardcoded "first (and second) entry in FAT". Personally I'm not a huge fan of that idea because now you are leaking bootloader stuff into the FS proper.
The FS should not (ever) care about bootloaders. It's a FS, and it should do its job the best it can, without caring about anyone or anything else.
The only "trick" that makes sense to me (because I haven't come up with anything better) is the simple fact that once you've installed your OS on a particular "partition" you've essentially also installed on a particular media. Knowing the particular media you can have media dependent bootloader and it can take advantage of "known facts". Which possibly include fixed starting location for bootloader sectors.
The simple fact is that bootloader runs 0.0001% of the time and 99.9999% of the time the FS proper is being used. Allowing the FS the most freedom to do its job is paramount. In practice for most (if not all) FS types this distinction might not make much of a difference, but at least I'm designing my own FS from the "perspective" of not caring at all about bootloader/bootsector and contain the bootstrap problem into the loader.
Hopefully the above makes some sense =)