Layer your points and cluster

The trick to keeping things running smoothly is not to show all points at once. This means clustering, which can be implemented with layers.

The idea is to go through all points in the KML, adding points to the first layer. But if a new point already has a nearby point in the first layer, add it to the second layer. (A Python script is available to do this)

This way the first layer provides a representative view, and the second layer shows the rest. You only show the second layer when the user is sufficiently zoomed in.

Using MarkerManager, you can make layers that are only shown at a particular zoom level.

Differentiate similar points

If you have markers that have the exact same co-ordinates, only one will show. Google are apparently working on this problem, but in the meantime, something needs to be done.

You need to go through that KML file and move apart any identical co-ordinates.
A Python script is available to do this. Note: this script is for GeoRSS format.

Conclusion

Google Maps with a few markers is simple, quick and painless.

Google Maps with many markers is surprisingly fiddly. This document provides one solution to the associated issues.