There's been a lot of discussion online and in the hobby press recently about cleaning track. I came across this simple method that appears to be bulletproof, takes little time, and involves no liquids.
First, clean the rails with an abrasive block designed for track. Then, go over the inside corner of the rails (the only part that contacts locomotive wheels) with a graphite stick. Graphite is electrically conductive. I used an inexpensive softer type B stick available at art supply stores, but a graphite pencil will do in a pinch. A light pass with the stick is all you need. If you're leaving a lot of graphite around the track, that's too much.
I did this a couple months ago and my HO layout has never run better. Trains running in my 3%, 26-inch radius helix have always suffered from annoying draft and buff, but the graphite smoothed out 99% of surging, even with a four-loco, 30-car train. Of course, this method won't help a layout that's improperly wired though it improved operations on sections not yet hard-wired, and I equip my locos with the RailPro PBMs, which are way better than other keep-alives. Also, clean locomotive wheels regularly, and rolling stock wheels if practicable.
I've read about people going more than a year without having to clean their track using graphite, so it's worth a try.