Personally I don't find the separate library thing such a big hassle.
1 - Name the LF library higher in the alphabet than the pf library.
So if your PF library was MYLIBF then name your lf library MYLIBFLF.
Then in a complete unload/reload the PF's will all be there.
2 - If someone violates this, or if they do stuff like have a LF in
LIBA pointing to a PF in LIBB and a LF in LIBB pointing to a PF in
LIBA then I still wouldn't stress out. When restoring I simply do a second RSTLIB *NONSYS with the OPTION(*NEW). There's even some obscure reference to this in the Backup and Recovery Guide. Having done an unload/reload within the last month it was no problem.
I've got real issues to get stressed over instead of being concerned
with cross library logicals.
Hey, if my boss found that easy solution, and he hasn't written a
program in way over a decade...