The best way to minimize the negative effects of dams on the environment is to not have them built in the first place, especially on the main stream. Dams built off the main stream for off stream water storage (and recreational uses), such as in secondary, tertiary and even smaller river tributaries and canyons within the watershed, would be far more acceptable by not disrupting the main stream environments. (The ideal alternative would be to suck water out of rivers when we need it, though this option would not provide us with a large enough capacity to instantly satisfy periods of high water demands, especially during the dry months, and would also too largely and too rapidly influence a river’s flow.)
Of course, placing dams offstream would require very large amounts of energy to pump water up for storage behind such dams. The energy required to store this water could be provided by excess generation from distributed wind and photovoltaic units connected to the electrical grid. Since these methods of electrical generation are relatively unreliable, but would, many times, produce much more energy than is needed at the time, this excess energy could be conveniently used to store water behind these dams.
Nevertheless, since water is used so inefficiently and since it is subsidized to such ridiculous degrees, the best water policy is to reduce the demand for water by reducing its subsidies, thus increasing the price to consumers, to more accurately reflect its true cost. This would reduce demand by several percentage points, at least, and lead to less of a need for water storage infrastructures.
Flood control is one of the most important services dams provide. Naturally, to serve this function most effectively, dams must be placed right in the main streams. However, such dams need not be filled with water in order to serve effectively as flood control tools. In fact, they would serve this purpose much better if they were kept empty until needed. Flood control dams could be built over the main streams with a tunnel right under the dams that allows the river to flow unimpeded through the bottom of the dam. Then, when required to prevent floods downstream, gates could be closed at the bottom of the dam to control the amount of water allowed through. Since the reservoir behind the dam would have been kept empty, rains of ‘Biblical proportions’ would probably still not cause fears of flooding downstream because the entire design capacity of the dam would need to be filled before problems downstream would occur. Of course, permanent industrial, commercial, or residential developments could not be allowed behind the dam because of this possibility. At least nice parks or wilderness areas could be set aside instead.