One of the most common tasks associated with bringing an older bike back from the dead is figuring out how to deal with the varnish and rust, in the tank, left over from years of neglect. After cleaning many gas tanks, I've finally settled on this method as working best for me. I'm sure there will be refinements and improvements, of which I'll write more about as they evolve. Thanks for the interest.

Cleaning a gas tank.

Why do fuel tanks attract moisture?

Here's why it happens. You park the bike with a quarter tank of fuel probably during the day when it's warmer. That night the temperature drops and as the air inside the tank cools it becomes less able to hold moisture so some of the water vapor condenses. Now this amount of water is insignificant and over night or even a couple of weeks won't usually be a problem. But over a longer period of time, usually months, the tank will breath in every time it cools. That new moisture will condense then when the day warms up the tank will breath out the air that gave up some of it's moisture yesterday. That night as things cool down the tank will take a new breath of damp air and the process starts over again.

What to do if you find rust in your tank.
Is the tank leaking? If it is either Pour 15 or Kreem will solve the problem. Pick one and follow the prep instructions carefully.

If the tank is still holding fuel, I like to check the quality of the steel at critical locations before I go further. To do so, I use a popsickle stick and test the areas adjacent to the seams. Set the tank down and run the popsickle stick along the seams using moderate pressure. Find the lowest part of the tank and test this area as well. If the popsickle stick can't push a hole through the steel there's no need for epoxy sealers. Great, you're bucks ahead and your bike will be worth more as well. As a collector, I've learned to always check the gas tank, not only for rust but to see if the previous owner has had the tank sealed. I judge a sealed tank as hurting the value of a bike more than a rusty tank.

If the popsickle stick reveals soft areas but doesn't actually puncture a hole, It's still a good idea to go with a sealer as the cleaning process may well cause the tank to leak after all.

There are plenty of methods used to clean gas tanks.
I've used sand with steel nuts and kerosene and tumbled them for hours. I gave up on abrasive methods because they take too much time and the sand is too difficult to clean out when finished.

I've used mild acid preperations such as Naval Jelly. These I gave up on because they don't really attack the rust enough to get rid of heavy build ups of scaly rust.
I tried the electric method, using a battery charger and a steel rod. I'm not sure this one accomplishes much. It didn't touch the scale and getting at the top of the tank is tough.

I've read about using sodium hydroxide ( lye ). It's supposed to be a good method because it doesn't erode the base metal. I'm looking forward to an opportunity to try it out.

Most recently, I've settled on a muratic acid wash followed by a dose of phosphoric acid as the best method, mostly because it always gets the job done and doesn't require a lot of physical effort.

To do the job you first have to decide if the tank has scaly rust or just surface rust. If the rust hasn't gotten to the point where it's scaly you can skip the 1/4" nuts, referred to later.

First, flush out any oily varnish that may be coating the lower regions of the tank with acetone or any of those engine degreasers. If you choose the engine degreaser flush the tank with water.

Remove the fuel level sensor. Seal it's opening with GOOD duct tape.
Remove the petcock and seal it up with an appropriate plug or capped section of hose. Dump 30 or so 1/4" nuts into the tank.
Pour in a pint or so of muriatic acid. Seal up the fill spout with GOOD duct tape.
While wearing gloves, old clothes and safety goggles. Agitate the tank for 10 to fifteen minutes. During this time you can monitor the pressure in the tank by watching the duct tape bulging at the fill hole. If too much pressure develops, carefully vent it by peeling the tape back than reseal and keep shaking.

Next pick a piece of concrete that you don't particularly care about. Remove the tape from the sender opening and fill hole and flush the tank with cold water. The acid that has not already been consumed will neutralize itself on the concrete. You're still wearing goggles and gloves right?

Now dry off the openings and reseal them with GOOD duct tape. This time pour in a pint of naval jelly, or milk stone remover or tile haze remover. These are all phosphoric acid formulations. Phosphoric acid is not as aggressive as muriatic acid and therefore is mostly a waste of time if you're trying to really remove rust. What phosphoric acid will really do well is leave the inside of the tank coated with iron phosphate, which is somewhat rust resistant. For this step you do not need much agitation. Just tumble the tank over several times and let it set for a half hour or so and then tumble it again. After about two hours of this and go back to the concrete slab, open the tank, drain it and immediately spray WD 40 into the openings trying to coat as much of the metal as you can. Now flush it out thoroughly with clean water. One more application of WD40 and you're ready to force dry the tank.

Back in the shop, prop a blowdryer so that it forces warm air into the tank and let it blow for an hour or more. Position the tank in different orientations during this process to make sure that no seam holds water. Once it's really dry you're done.
I used to say that the phosphoric acid step was critical to avoid flash rusting. Now, I still think it's a good idea for future rust resistance but since I started spraying WD40 into the still wet tanks, flash rust's no longer a concern.

I've probably cleaned twenty tanks with some variation of this method I've described here and never damaged the exterior paint or eaten through the steel.

Good luck.