Chlorine is a very good choice for an indoor pool. The objectionable smell does not come from free chlorine. It comes from insufficient levels of chlorine combining with various swimmer wastes, like ammonia, that form chloramines.
Any time you smell chloramines it does not mean that the chlorine is too high. It means that the levels of swimmer wastes are overpowering the chlorine to form chloramines. Swimmer wastes come from sweat, urine, body oils, lotions etc.
When there is sufficient chlorine to oxidize all swimmer wastes there are no problems. Usually, in a private home, there are not enough swimmer waste products to cause the formation of chloramines as long as a steady level of free chlorine (Usually 1 to 3 ppm) is maintained.
There are several things that can be done to manage chloramines in a high use situation.
1) Use ozone with the chlorine. (Ozone must be off gassed using special equipment.)
2) Use a non-chlorine shock.
3) Add 48.68 grams of sodium bromide to 10,000 gallons of water to provide 1 ppm of bromide ions. This will allow part of the chlorine to be converted to bromine while still keeping part of the sanitizer as chlorine. Fully oxidized, 1 ppm of bromide ions will provide 2 ppm of Bromine (as measured). To maintain a 1 ppm level of bromide ions add 4.868 grams of sodium bromide per 1,000 gallons of fill water.
Ideally you would want 1.0 to 2.0 ppm of bromine and 1 to 2 ppm of chlorine (a total Br + Cl level of 1 to 3 ppm) at all times. Bromine works similarly to chlorine. Bromine can form bromamines, but they are actually good sanitizers and they do not smell like chloramines.
A good chlorine choice for an indoor pool is liquid chlorine. Liquid chlorine is 12 % sodium hypochlorite. Regular unscented Clorox bleach is exactly the same thing as liquid chlorine, only it is 6 % sodium hypochlorite instead of 12%; so you would just use twice as much. Regular unscented bleach or liquid chlorine from the pool store are very good choices for an indoor pool.