The addition of Resolve Identity Conflicts to ProjectLink in Windchill 10.1 was a great step toward improving the coordinated use of PDMLink and ProjectLink. It allows you to replace a Project object with a PDM object having the same unique identity. However, having it limited only to independent objects makes it much less useful in practice. We utilize projects for both Creo MCAD work and Arbortext DITA publication work (in conjunction with PDM upon release), and fully independent objects are not that common.
It is understandable that having this work with dependent objects increases the complexity significantly. Therefore, as a first step, I would propose that the functionality only be allowed on dependent objects when an administrator affirmatively chooses to have the selected PDM replacement ignore the dependencies during the replacement. It would then be left to the project members to fix any issues with the parents of the object as well as any necessary child objects.
This is effectively what you would currently do by renaming the project objects, sharing the PDM objects to the project, and then replacing the renamed project objects with the proper PDM objects. The benefit being that additional unneeded (renamed) objects do not linger in the project, nor do any historic object links point to these now unnecessary objects in the project. And the combined dependencies of the project and PDM objects should in most cases be resolved during the manual "fixing" of the parent and child objects.
This should not be an often used function, but expanding its reach will help in "difficult" situations.