Here are my results with your script after 2 days uptime:
cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
11: 55108275 10886419 5134652 37005813 GICv3 30 Level arch_timer
14: 0 0 0 0 GICv3 142 Level wdt_bark
25: 0 0 0 0 mt-eint 9 Edge keys
62: 13 0 0 0 mt-eint 46 Level mdio-bus:01
63: 31 0 0 0 mt-eint 47 Level mdio-bus:07
82: 6 0 0 0 mt-eint 66 Level mt7530
117: 0 0 0 0 GICv3 148 Level 10320000.crypto
118: 0 0 0 0 GICv3 149 Level 10320000.crypto
119: 0 0 0 0 GICv3 150 Level 10320000.crypto
120: 0 0 0 0 GICv3 151 Level 10320000.crypto
121: 13 0 0 0 GICv3 155 Level ttyS0
122: 0 0 0 0 GICv3 205 Level xhci-hcd:usb1
123: 1875 0 0 6445 GICv3 175 Level 11230000.mmc
130: 11 0 72713656 0 GICv3 229 Level 15100000.ethernet
131: 0 0 0 60735578 GICv3 230 Level 15100000.ethernet
133: 1254 10595013 0 0 GICv3 245 Level mt7915e
137: 0 3 0 0 mt7530 0 Edge mt7530-0:00
138: 0 3 0 0 mt7530 1 Edge mt7530-0:01
139: 0 0 0 0 mt7530 2 Edge mt7530-0:02
140: 0 0 0 0 mt7530 3 Edge mt7530-0:03
IPI0: 54694 64445 125326 80914 Rescheduling interrupts
IPI1: 41068954 9475405 6668926 27139722 Function call interrupts
IPI2: 0 0 0 0 CPU stop interrupts
IPI3: 0 0 0 0 CPU stop (for crash dump) interrupts
IPI4: 0 0 0 0 Timer broadcast interrupts
IPI5: 0 0 0 0 IRQ work interrupts
IPI6: 0 0 0 0 CPU wake-up interrupts
Err: 0
I don't have much experience with irqbalance in the first place so I can't tell for sure if does the job as expected but it looks alright. Thanks for sharing the script with us!