Hi Julian,
I do not think there is any out of box solution,
(the referential integrity plugin can only remove attributes but not entries)
Furthermore it could be dangerous because a role may have several roleOccupant
and you probably would not want to remove it in this case.
So maybe a solution could be to use the referential integrity plugin to remove the roleOccupant value then run periodically (not to often because it will likely be an unindexed search) a cleanup script that search and remove the roles without any roleOccupant
Regards,
Pierre