Fuse holders, relays and also the key-switch are not waterproof, and once moisture gets in them, it will hold moisture for a long time, and switch and relay contacts may be corroded. Since JD uses several relays for different functions, you could try swapping a few. You may need to replace the K.S., but before doing that, I think I'd remove the plug on the back, and looking very closely at it, see if there is any small opening toward the back, where you could spray some contact cleaner in, and just work the switch (still not connected) off-on-start, over and over dozens of times. The wiping action in doing this will tend to clean and lubricate the wiper and contact points. Might help; can't hurt.
One other thought that just occurred to me; the starter motor may have some dead spots (corrosion) on the armature. Have you address any attention to it, and to the starting solenoid? I'm thinking the problem may be in these areas.