I've fitted the CDI Shop programmable CDI's with a slight modification to the loom. I changed from the stock 91 RON to the 95 RON map they came with, and my hesitant 5-5.5k rpm misfire I had with the bikes original CDI's has gone.
They also sell a non programmable version which is a little cheaper and can be changed from 91 RON to 95 RON by just moving a jumper pin.
I ungrounded the pulse coils and wiring them directly to the ground terminals of the 4 pin connectors moving the ground wires to the two pin connectors removing the green/yellow wires disabling the side stand cutout so I didn't have to cut the yellow loop on the CDI's.
I modified a Transalp CDI holder so I could fit them lower, to prevent the seat pushing against the connectors which causes them to fail, the holder also has a handy space for a spare fuel pump cut off relay.
I also fitted a Shindengen FH009AA MOSFET regulator rectifier from a Triumph Rocket 3 with sealed Furukawa connectors and upgraded output wires connected directly to the battery though a 30A ShortStop self reseting circuit breaker. this eliminates the burnt stator connector issue and the poor SCR reg/rec issue and also leaves a handy 5 terminal connector near the rear brake fliud reservoir with two 12v + battery terminals, one 12v+ ignition terminal and a pair of ground terminals which are handy for adding a sub-loom with a fuse box for things such as battery charger or a DIN power socket and things like heated grips and navigation ect.