There are very good scale inhibitor for calcium carbonate and/or sulfate (for example: Gengard line from GE Water) . The silica cause problem in the cold section of the system ( cooling tower, fill of tower), but silicate cause some problems in the hot section of the system ( heat exchange) . To silicate, we need to respect the solubility limit of magnesium silicate and magnesium/calcium silicate. There is system where is possible to simulate this situation in the cooling water system.
Calcium carbonate and calcium sulfate scale is typically prevented by utilizing dispersant polymer technologies. These are typically acrylamide based polymers with differing functional groups. The type and amount of these dispersants required is dependent upon your calcium, alkalinity, and sulfur concentrations, pH, and temperature experienced within the system.
In my experience, citric acid is utilized most effectively to chelate and clean iron scaling, however, it can be used for cleaning of calcium carbonate and sulfate scales.
Unless something has been brought to market recently, I do not know of anything that will remove or prevent scaling of silica. This is typically done by limiting the silica concentration of your water and increasing the pH. Pretreatment of the water utilizing some form of lime softening will also help to reduce the amount of silica to a point.