Recursive multilevel taxonomy feeds Drupal 7
You can solve this by double running an import with only one master CSV and using the Skip hash check &amp; Update existing terms settings within your importer.

Feeds tracks each imported item in the feeds_item table. As entries are imported, it adds the imported guid to the table and stores hashed value of the imported row within hash. This hash value is checked upon reprocessing so Feeds can skip any unnecessary updating (if the source data hasn't changed it doesn't need reprocessing). 

If Skip hash check is enabled with Update existing terms set to Update existing terms, this forces Feeds to update regardless. For your purposes, the first import run will ensure that each feed item is in the feeds_item table. On the second import run, the hierarchy integrity will be restored as each pguid will have a valid guid reference in the feeds_item table.