As demonstrated here, this is actually fairly simple to do.
First, enable btrfs quotas:
# btrfs quota enable /btrfs_subvolume And then run:
# btrfs qgroup show /btrfs_subvolume OR # btrfs qgroup show -f /btrfs_subvolume Which in Btrfs v3.18.2 shows you this:
qgroupid rfer excl -------- ---- ---- 0/260 1.09GiB 1.09GiB The 0/260 is the subvolume ID, and the excl is the exclusive data in the subvolume. If you delete the subvolume, that's how much space you'll free up.
Edit: According to this link, this appears to be the official recommended way to do this.