Are you subjected to salt air?
Start at the stator.
Pull flwheel with proper puller. Is key absolutely perfect?
Does flywheel rattle? = junk
Clean inside of f-wheel and any rust off stator poles and pick-up sensor. Does the stator have a ground wire under a bolt/screw? If yes pull timing plate and clean corrosion off plate and engine case, add dielectric grease. Blue loctite to screws.
Now you are going to double check, tripple check ALL connections that they are clean/no corrosion and tight, add di-grease. This includes anywhere there is a ground lug.
Check your tors and parking brake bypass, if you taped twisted wires, pull tape and make sure there are no Green Weinies (corroded copper)
Run coil ground wire either to engine or if stator didn't have ground run to point where ground from stator goes to frame.
Trim 1/4" from coil wire and install cap with di-grease
You may even have to pull all tape from harness and check EVERY SINGLE WIRE for cuts, breaks, worn insulation.
Last resort on wires is to by-pass switches. Have to look at diagram as to normally open or closed. Open means no flow of power. IIRC, the on/off is N O, you would jus disconnect the wires, key is N C, you would have to jump the wires together to supply power to CDI. Do this step last.
CDIs normally work or they don't. Not saying it might be malfunctioning somehow.
On to the carb
It must be clean as new. Quick douche with carb cleaner may not be good enough. Be sure you can blow air through ALL passages/holes. Float level set, float needle clean, not worn or cracked. Shake the float and listen for gas in it. Put some gas in glass or metal container and "sink" the float, looking for air bubbles indicating a leak.
JMHO, your results may, and will vary, in which case buy a box of plugs, sorry