That fsync behaviour I think is a good part of the reason that apps seem to run faster/better on osx than windows/Linux.
I wish Linux and windows would have settings to change all fsyncs to barriers too.
Unfortunately I think Linux recently removed such an ability on the basis the code complexity wasn't worth it.
Would it not be possible to achieve this with something akin to how libeatmydata can be LD_PRELOAD-ed?