I found a good way to clean bottles, but my hands burn like hell. I guess I'll need gloves.
Take salt and vinegar, and pour it into a large plastic container with a lid. (pretzel containers work fine) Take a THICK walled bottle, not thin paned meds,* and place inside the container. Gently swish the mixture around for about five to ten minutes. Do not drain. Add more salt, some warm water, and Oxi-Clean, and swish around for ten to fifteen minutes. Drain and let dry. Your bottle should look considerably better.
The science behind it is, Vinegar is an acid. Acetic Acid to be exact. The cloudy stain on your bottle is lime scale, or calcium buildup. The Vinegar reacts with the Calcium, and it begins to dissolve.
CaCo3 + 2CH3COOH - Ca(CH3OO)2 +H20 + Co2
The Oxi clean is slightly corrosive, and it does a good job of removing what is left. Salt kills whatever bubbles would be formed, so you won't get a sudsy mess, but it will still work. The salt also helps as a cleaner.
Your bottles won't be perfect, but they'll be better from when they started. Like I said, do this on thick bottles, not meds or anything like that. Remember to GENTLY swish around, don't do it violently.
* Don't come cryin' to me if you Break your Daffys Elixer for the Intestines bottle from the Straits of Namantookoo!