You need two loops - in the first one you spawn everything that is missing (all the actors you referenced) and call UObject::Rename on them so that the objects have the old path.
In the second loop - you deserialize all the data for them. Then the references will work as if nothing happened.