In general, when you're making assemblies with lots of interpart links, you're going to run into problems having those interlinked parts in different folders. Though I did notice an option in the Pack And Go function that preserves folder structure, I generally prefer to put any of the interlinked parts of an assembly all in the same folder. It saves you an untold amount of potential headaches if you do it this way, because if you have lots of subassemblies inside of a larger assembly, fixing the broken links if things ever move will drive some to suicide.
I would thank my lucky stars that I created the parts inside the same folder to begin with. I understand why you would want to organize in folders like this, I used to do that, until I really started seeing why it was a bad idea. Just my opinion.
It is not necessary to keep parts with interparts in the assembly folder. Each part can be stored in an individual folder if you like. The interpart links depend on the assembly where they were defined and not on directories.
When using interpart links in parts, you should not use these parts in other assemblies. In ST9 you will get a warning if you try.
Using the design manager ( revision manger for pre ST9 users) you can select the assembly and all contained parts at the same time, click the copy function from the ribbon and then the select directory function will set the new directory for all selected lines.
If parts contain interpart links, then these are updared to the new directory paths.