I thought I’d finally found a great option with exFat. I was preparing to migrate to my MacBook 2010 and Mac OS X Yosemite for a while in preparation for taking some classes. I transferred my user files (about 1 TB) to a shiny new 2 TB USB drive after freshly formatting it with exFat file system. My MacBook installs with 10.6.2 but exFat isn’t compatible with that version. No problem, I updated to 10.6.8 to be able to quickly access some needed files (Little Snitch, etc). As it turns out, Apple has chosen to implement only part of the exFat specification in that you must format to 1024 cluster size (or less, apparently) for the system to work. If you happened to be unaware of this restriction and allowed your Xubuntu 14.10 box to choose its default (4096), you’re screwed. No way around it, you’ll need to copy all of those files off via Linux (or, presumably, Windows) to another drive formatted to the correct cluster size. Trying to do this through VirtualBox with a fresh virtual machine containing Xubuntu 15.04 and all the correct drivers resulted in a number of crashes. I finally decided that it was going to be easier to simply continue taking classes with a virtual Windows installation rather than screwing around with yet another Apple-imposed restriction. The hardware and software are generally great and rarely crash, but trying to do anything out of the box that Apple defines can result in some pretty large fails.
Summary: If you’re going to share exFat file system in order to be compatible between multiple platforms, make damn sure you read the implementations available for each OS.
From my personal experience the most reliable way of sharing files between Linux and OS X is using AFP network shares. Linux will have trouble mount OS X file sharing a but netatalk, the AFP daemon for Linux, coupled to avahi, is quite stable, and that will allow you access disks mounted on Linux box, including Time Machine if you so desire.