BR's can do just about anything, including deleting Orphans. Like any other member, you cannot delete an Orphan through the user interface or a BR that contains data in the Cube, Stage, Journal or Annotations. And in the event extensibility is being used, you have to delete the extended members before you attempt to delete the inherited parent. As a best practice, I "Remove Relationship" of any members I no longer want, and periodically run a utility to delete the Orphans. Should I have "Removed Relationship" in error, I can retrieve the member from Orphans - sort of like an Undo option.
I am unaware of any way of preventing orphans from being created while importing a Metadata XML file. The process "dumbly" imports whatever list of members and relationships are contained in the XML file, which will create the contained dimension(s), member(s) and/or relationships if they do not already exist, and update those that do exist.
It sounds like the source system that is "pushing" members into OS knows when it doesn't know what the correct parent is otherwise it would generate an error trying to add a relationship to a non-existent parent. For those members the source system is adding without a relationship, perhaps the source system should default to adding a relationship to an "Unassigned" parent, so the OS admin has better visibility as to the members that need to be reviewed and if accepted, manually moved to an appropriate parent. This is the usual approach I use when I'm auto-adding missing members during the Import/Transform/Validate process via an event handler. For some builds, I assign the auto-added member to correct parent if I can determine such, else add to Unassigned. For other builds, I'll add all auto-added members under Unassigned. I don't generally like adding new members under Orphans, as I use Orphans more as placeholder for members that are to be deleted, and form which I can recover the member should I find out later that it is in fact needed. Basically, in my books, anything in Orphans is deletable, and periodically, I'll run a Delete Orphans utility to get rid of those that have no data.