it could also be a bad earth to the frame ?
might pay to undo any earths to the frame, clean them up with sandpaper so the terminals bolt up against clean bare metal.
even unbolt the ignition coil off the frame and clean up the earth.
smear some dielectric/bulb grease on them too to help stop corrosion etc
the other thing to look at too, it may be the starter solenoid has dirty connections inside of it?
i have fixed up a few with that problem
disconnect the battery and wiring to the starter, take the solenoid off, and take the rubber boot off it.
you'll see a couple of tabs that are bent over on one end of the solenoid.
these hold it together, gently open them up to take the solenoid apart, taking note of how it looks so you can reassemble it again.
the brass contacts inside the solenoid can get corrosion on them, and wont allow a good connection for power to flow through to the starter motor, clean them up with a wire brush, or tip of a screwdriver and smear a bit of that dielectric grease i mentioned above on the contacts, then reassemble it and try it out.
shortcuts to my bike build threads are below in my signature