I use emulators that play directly from (.iso) or (.img) files, however as you probably know, most ROMs are downloaded as archives.
Do you backup your ROMs in their downloaded archived format? Or as uncompressed files?
For 3DS games I use NDSTokyoTrim to remove useless data from the game files to make them smaller.
DreamCast, PS1 & PS2 games get compressed to chd with chdman.
GameCube and Wii are compressed to rvz with Dolphin.
PS3 I remove the PS3_UPDATE folder, 256MiB for each game adds up. I also use Gnarly Repacks for PS3 games since they have better compression than anything I’ve tried so far.
Switch games, I use nsz.
Then I use tar with zst on all of them, Nsz and rvz already use zst so theres no change but I just like to keep everything the same accross all of my roms and pc games.
Everything else, GB, NDS, SNES etc all get archived and compressed with tar and zst. For these I’ll also use the --ultra -22 option since they’re small enough files anyway so they don’t take long to compress/decompress. If anyone knows any specific compression/trimming methods that are better than zst, I’d love to hear about them!
Copies of all the tar archives are kept on 2 separate drives and a copy of the games are on my PC in whatever the smallest format is that is compatible with their emulator.
Whatever file format I use them in is also how I back them up, I backup my entire desktop’s and laptop’s data to an external hard drive and an online service provider. I’m sure a compressed format would be more space efficient but that would take much more time given my use case.
In the case of my laptop it runs Linux and the filesystem I use supports “transparent compression” (almost all contents of the drive are compressed with zstd), so I’m guessing any of the ROMs on there will have already been compressed as nuch as they can (but I’m not knowledgeable enough on the file format specs)