I can't think of a definitive way, but this is an attempt that should do some work. I think, you can blktrace and collect the data and then use blkparse to see it. The system calls should show that which are responsible for generating IO. And then if you can map the system calls to the corresponding files, then you can get some clues. For example, if you see a good number of mkdir calls and you create one new dir or something, then you can attribute the IO to that.
You can even btt it and then use seekwatcher to see the IO pattern at the filesystem level, But, I don't really know of a tool to get which files are responsible for the IO.