You can absolutely replace the
resourcepacks dir with a symlink to elsewhere. I don't use the official launcher, but that shouldn't matter as Minecraft scans it during runtime.
This is especially helpful because you can click through the warning and force old packs to load, without needing to make a copy for each Minecraft version. Packs as old as
"pack_format": 4 (1.13) could theoretically work on any newer version (to 1.19.2 at time of writing).
Note that there do seem to be some limits on using symlinks. While the
resourcepacks dir and any
.zip'd or unarchived pack can be symlinks (or symlinks to symlinks), and so can some dirs in unarchived packs, texture files cannot be, nor can
/assets/minecraft/textures/*. They will silently fail to load, as though the pack did not override those files. (For custom model textures, there is the same missing texture warning as for nonexistent files.)