I think you're on the right page already. You've mentioned the two things I would have suggested.
FUSE is apparently pretty simple to get stuck into. I've had a similar question to this a while back and one of the answers mentioned FUSE. I found a simpler option (which I'll explain in a second) but if that isn't desirable, FUSE might be worth investigating.
My problem was I have an incoming directory where clients dump all sorts of crap. I needed a way to be allowed to sort them into deep directories (eg /work/client-name/project/document.ext) but still have a top-level grasp to see what was new. I wrote a little bash script that maintained a "recent" directory that contained symlinks to the recent content.
Something as simple as this might work for you. Just keep chaining on -not -name arguments, or filter positively if you have something you can look for...
#!/bin/bash
rm new-path/* # clean up old symlinks
find original-path -type d -maxdepth 1 -not -name folder2\
-exec ln -s -t new-path/ {} +
This is only first level but you could expand it to:
- Search for the directories you wanted to mirror
- Create new (real) directories in
new-path
- Loop the new directories and search the old versions for files you want, creating symlinks. Like the original find with some augmentation to the paths.
- The initial clean-up statement will also need to be
rm -rf new-path/* because they're real dirs. Be careful with it.