This is my mess, I don't use the -r switch. All versions are compartmentalized, but they share the same script folder.

; Current stable version of mIRC I keep running 24/7:

C:\mirc\ ; mirc.exe, mirc.ini, everything else included, copy of spaces.dll for this specific version.

; Old versions:

C:\mirc-old\6\6.35\ ; Same as above.
C:\mirc-old\7\7.48\ ; Same as above.
C:\mirc-old\7\beta\7.57.2425\ ; Same as above, and contents of the beta.zip, but without spaces.dll (since they don't work for betas)

; Scripts:
; Git repo. Updated whenever I make changes to my scripts.

C:\scripts\ ; All my scripts.
C:\scripts\247-scripts.mrc ; Load all scripts for my copy I run 24/7.
C:\scripts\old-scripts.mrc ; Load only certain scripts for older versions.

Hash tables:
; Hash tables for all my scripts.
; Separate git repo because I do not want the changes filling up my git log for scripts.

C:\scripts\hashtables\