There are a lot of different things to take into consideration when creating a map with many scales for online usage.
Most heavily used digital maps (e.g. googles, bing, open street maps etc.) use pre-rendered tiles. However this is besides the point, as at each scale (or set of scales) usually a different data source is used so that a specific amount of generalisation can be applied.
For example, a small scale map (showing a larger land area) would show not only fewer streams than a large scale map, but would also not show every little bend and curve; this allows for the appearance to be less muddy. However as the user zooms in they would expect to see higher detail in stream direction.
Often this is still something that is difficult to reproduce with an algorithm, often being left to selecting different datasets based on scale.