FG or Dodi because of file size. Mainly use Lutris, and setup up my games in a GameName with game and prefix as the subdirectories. This way I have separate prefixes for every game so I don't have to worry about one games dependencies messing up another game or a wine update breaking it.
I'll try a few prefixes and add dll's (usually dx and vcrun dll's fix any issues) with winetricks but if they don't work, I'll add it to Steam and if that works then copy the proton prefix and replace the steam dll with Goldberg's
If that doesn't work, jc141 or LinuxRulez usually works, but their compresion ratios just aren't as good as FG and Dodi unfortunately.
ROMs are usually from myrient or archive but I always check Gnarly first for PS3 because they have great compression ratios. I convert PS1 and PS2 to chd for smaller file size I always use portable versions or appimages of emulators and setup auto backups of the emulators save folders that default to the system drive, like RPCS3, to make them more portable.
I archive the compressed files with the prefix and any notes on changes I made for that setup to make it easier for future me to get games up and running for others or if I want to play again. I converted nsp to nsz before archiving too. I also don't keep games on the system drive.
When I started using linux a few years ago, I would constantly either switch distros or completely break the system with no idea how to fix it so I would just reinstall it. I've also become a bit of a data hoarder so my goal is always to make each game small, portable and separated from the others so they can be used on pretty much whatever PC without much effort.