In my limited experience:
You can’t account for the differences in Kernel, Driver, and F-state variations in the software version you are running on. This includes driver support for your particular motherboard, CPU, LAN, etc.
If your hope is get on an island which finally works for your very narrow group of hardware, continue experimenting across the board, but at some point, I would suggest a Pre-#72(f-state functions began) or >= #83 (current stable) version to focus your efforts.
There is no middle ground as any scripting you attempt will be fighting what is included in the Kernel packaging.
I’d break down to a single GPU in a test rig on the latest stable kernel and repeatably test (1) by (1) if had to establish good vs. bad.
I empathize with the situation, I had to separate some brands out into various rigs to manage their particular issues.
Wishing you good luck and good mining results, soonest.