This is some old, but I stumpled over it, so here my two cents:
I think "deduplication" is the solution you're looking for. Due to the fact you need to keep each node in its usersapce independent AND at the same time you don't want to prune the nodes databases you can have a look at deduplication. deduplication is a complete transparent service provided by your filesystem/operation system.
Basically, when storing the same chunk of data the FS decides not to write a complete copy, but an "address" where to find it. For the user there is no difference, but on the media it spares a lot of physically adressed storage resources. That all works with kind of hashtables and severeal FS support deduplication (by file, block, chunk, and whatever). For your use acse it should be fine. you need to setup one "server" which provides for each node a "user". you export your some space (over the net) and there you let all the nodes write their indivudual blockchains to. In the background the server takes care that whenever there are data chunks recognised as "same" they're not written, but an "link" set. If one node write anything different than the others for some reason (which should not happen, but who knows) it gets its own Chunk of data (which occupies of course its own space on the media). Be aware that you creat a SPoF with it anyway. But it is quite easy to catch that with redudant server/services.
Some NAS support deduplication out-of-the-box (AIK) and file systems like BTRFS and ZFS also support it. Check on wikipdia for more details.