Data storage for shared systems
I've used Btrfs a fair amount as a Debian developer, in order to take advantage of some of its features such as snapshotting and RAID. It has some nice features, but to be completely realistic, it's not anywhere near ready for production use, and isn't likely to be for seveal years at least. I've had unrecoverable data loss and multiple kernel oopses/panics (though for experimental stuff, so not serious for me). You can't trust the RAID code; a SATA cable glitch made it toast both the transiently failing drive *and* the mirror, turning both in to unusable messes which panicked the kernel when you tried to mount them. Coupled with the lack of a usable fsck tool, it would be foolish in the extreme to trust this filesystem with important data. Depending upon the usage patterns, performance can also be awful, though it can be very good. Now, I use it intensively for snapshotted source build environments (schroot), but that's transient stuff I can recreate in minutes should it get blown away. It may become trustable with time, but at present I don't consider it anwhere near that. I think SUSE may regret making it the default; if their users want to be guinea pigs finding all the remaining bugs, good luck to them!
For Linux, there's the plain and boring ext4, or xfs, or zfs with the appropriate kernel patches. And others as well, but if reliability is the goal, one of those is a good choice.
One of the most annoying things I've found with both virtualisation and multiboot systems is data storage. You inevitably end up with data spread over multiple systems, duplicating stuff and also wasting tons of space due to disk partitioning and having neither system being able to safely/efficiently access each others' filesystems, especially when using VMs and they may be mounted already. My suggestion for this is to move all the user data off to another system. I got a small HP ProLiant microserver, and put FreeBSD10/ZFS on it. Now all the data is available to any system via NFSv4/CIFS, which works nicely for all of: single native OSes, dual-/multi-boot systems, and VMs. ZFS also eliminates inefficiencies of partitioning wasting space: all the data is in a big pool split into datasets (which can have quota/size limits). The choice of OS for this was really down to native ZFS support, including in the installer, and a desire for something new to play with. Debian GNU/kFreeBSD can also do this.
With the above setup I have EFI/GRUB2 booting of Debian GNU/Linux, Gentoo, Windows7 and BIOS booting of Debian GNU/kFreeBSD and FreeBSD10 on and amd64 system, and OpenFirmware boot of Debian GNU/Linux and FreeBSD10 on a powerpc system, all using the same user filesystems. There are also a fair number of kvm and VirtualBox images, all of which can also take advantage of the shared storage. The local storage can then be small: it's just the basic OS install and temporary scratch space.