Your catchment and cistern (the part that's open to air and thus to contamination by insects/bacteria) should be as small as it can be while still providing enough capacity to take in the rain as it falls. Once rain enters the cistern from the catchment, it should then be pumped into a holding tank which is air- and water-tight, and from which you draw your water for general use. That way, water doesn't stagnate in the cistern. To make this work properly, you'll want a drain in the cistern. Normally the drain would be kept open to prevent standing water in the cistern between rains. When rains start, the first few minutes' worth should "wash" the catchment and cistern relatively clean of contaminants like dust, pollen, bird doo, etc; then the drain can be plugged and water diverted into the holding tank. You can do this manually, or set up some sort of rain-sensing system that will control the drain for you.
Once water is in the holding tank, a small amount of antibacterial and algaecide agents will keep it clean. Iodine kills both bacteria and algae, and you need to take in a little of it anyway (good for the thyroid), but the water will smell a little funny, will not be suitable for laundry (iodine permanently stains cotton and most fabrics so over time your whites will become yellow) and too much iodine can be poisonous. Chlorine is a no-brainer antibacterial but is less effective against algae except in large (harmful) doses, and will also make for funny-smelling water.
You could consider a saltwater chlorination system. These systems use a small amount of sodium chloride (3.5g/L is the threshold for human perception of salt by taste; saltwater systems generally work with salt concentrations between 2-3g/L) along with electrically-charged plates to create free chlorine ions that disinfect the water. Saltwater chlorination is used for pools to avoid chloramines ("combined" chloride compounds, which give the water that distinctive smell) and similar systems are available for producing potable water.
Understand that any chlorine-based disinfecting system can produce "disinfection by-products" that can be harmful; however these are mostly a concern in large pools where lots of people are shedding organic material (bacteria, dead skin, etc) that forms the raw materials for these by-products. Rainwater that you're not swimming in, and that you're actively keeping new contaminants out of, shouldn't have this problem. Despite that, you can also consider a simple carbon filter coupled with a UV sanitizer; these systems are also commercially available for water sanitization in systems like yours.
Lastly, you'll need to keep the bottom of the tank relatively clear of sediment. The easiest method in an above-ground tank is to have a drain at the bottom which you can open for a short time to flush sediment. The next-easiest way is to vacuum it, just like you would a pool. Every few years you may want to drain the thing completely at the end of the dry season and give it a scrub, to clean off scaling and other build-up.
Yes, RO can remove most of the fuoride (according to the mfg specs on my system). Distillation will also remove just about everything -- in either case, you should weigh the benefits of these systems (costly!) vs using a water cooler for drinking water.
Deionizers and activated alumina are more obscure filtration systems that you can look into as well.
Best Answer
It turns out people have consumed rainwater for millions of years. So there's some precedent.
This is very well covered online, so grab a search engine and get reading. Here's a summary of concerns.
In the US, it may be illegal (look up "water rights") but for individual home use, that is usually ignored.
You'll get a lot of water from your roof really fast. It's pretty amazing.
The biggest problem is the dirt on your roof. The rainwater coming down is great, but once it hits your roof, it's dirty. You can redirect the first bit of rain, and then collect once the roof is clean(ish).
The roof material matters. Some roofs will leach small amounts of toxins in to the water that you probably don't want to drink. Metal is probably the best choice for a roofing material.
For most homes, only a small portion of the water goes to drinking. Much of it goes to laundry and flushing toilets and irrigation. These systems don't mind slightly dirty water (including greywater). Use your collected rainwater there first. You can haul it by bucket or plumb something special.
A problem specific to collecting rainwater for irrigation is that it always comes at the wrong time. You would have to save it from the wet season to use in the dry season, which implies a huge cistern. Being clever helps. For example, a cistern can go under a deck.
Any water storage should be protected against mosquitoes. You can put fine mesh screens over openings, or (my favorite) put goldfish in the tanks to eat the larvae.
Cleaning dirty water to be drinkable is harder. If you build a complex filtration system, you'll probably negate all the financial and ecological benefits of saving that small amount of water you were drinking. My favorite approach is the slow sand filter - it's simple, cheap, low energy, but it takes a lot of work. read here: http://www.homestead.org/TedPraast/SandFilter/Filter.htm