Welp, There's always Evolve. Obviously you can't play or launch games from Evolve because that's not what it's for (It's for playing your multiplayer games). But still it will create a library for all of your games.
The point of evolve was at first to be a tunneling engine so that those who couldn't port forward could still play games with their friends, but now it's a giant client similar to steam (except you don't buy games). Every time you play a new game, the client adds it to your library, that is if the game has a profile on Evolve. It records how long you have played it and whatnot, but it doesn't allow you to launch the games so I guess that's not what you want. Anyway, the reason Evolve has profiles for games is because unlike other tunneling engines like hamachi, Evolve custom writes and test a new tunneling engine for every single game in its database. Thus if it's on Evolve the tunneling engine is guaranteed to work (if you aren't relayed of course
)
Anyway, if anyone wants to check that out, here it is:
https://www.evolvehq.com/welcomeFriend me
(XiiDraco)
As for your physical library problem. Why don't you just manually add non-steam games to your steam library. Thus you can have them all in one place...