Yeah.... Having backups for the unreliable moves are good.... But Surf is perfect and makes Waterfall redundant which is why I hate it.... Plus why'd they make Flash a TM? You need it for alot more places than DPPt....
Well I like to take as few pokemon of the same type with me, so I figured I may as well give Waterfall to my main water pokemon as well as Surf. As for Whirlpool, you only really need it to get into the Whirl Islands, as far as I know, and you don't need lots of different types in there.
As for Flash... Well, as far as I can tell, you only need it in Dark Cave in Johto. I don't know about Rock Tunnel, but I suspect you need it there as well. I prefer that to needing an otherwise useless field move just to explore a single Route, like in D/P/P. Seriously, Defog was only needed in that one Route and a single floor in Mt Coronet. I'll probably just give Flash to a Bellsprout. I never use that family anyway, so it doesn't matter too much if I waste a move slot on it.
I grind, and I grind a lot. Whenever I enter a gym, I look at the highest leveled trainer pokemon in the gym, and then level my pokemon to 3-4 levels above that.
I do that, but only for my "trump card" pokemon. I make the others in my party roughly equal to the gym leader's pokemon.