Some time ago I prepared a script that prints packages on which nothing depends, which I call leaf packages. Only user-wanted packages (plus useful optional dependencies user might not be aware of, that once got installed, then became leaves but still are useful) should be on this list. This could be used to keep track of crap. I have in my "to do" list using it to find useless packages on some ISO, but this doesn't have too high priority on this list… Link to this is below, in case someone wants to play with it. It's hacky, but it works. (It should print version, or better slot, but doesn't.)
Example usage: ./etp-leaves.sh > leaves $EDITOR leaves # leave only wanted stuff mv leaves leaves.wanted then ./etp-leaves.sh > leaves diff -u leaves.wanted leaves # remove packages (carefully, see above) or add them to this list # profit The script: https://github.com/Enlik/misc/blob/master/etp-leaves.sh