Fish the lower Madison [1] (below Ennis Lake) for brown trout or the upper river for the now-scarce rainbow trout, and be prepared to catch a generous number of whitefish as well. The state once stocked the Madison with hatchery trout, but this practice was discontinued and wild populations were doing well on their own until whirling disease [2] came along.
Along with the beautiful riffled water and trout come crowds. To avoid them, look for spots far from Highway 287 and fish early or late in the season. Although the high waters make most stretches of the Madison too turbulent for fly-fishing until late June, some stretches (especially inside Yellowstone National Park) are OK for flies by early June, and turbulent waters don’t seem to deter anglers when the salmon flies hatch around the end of June.
July and August are when the caddis hatch, and anglers flock to the upper Madison. North (downstream) of Ennis Lake [3], the river warms up too much for good summer fishing; try this area in the spring or fall. Fly-fishing is usually good through mid-October on most of the Madison.
Some areas of the Madison River are closed to fishing from a boat; bait fishing is prohibited along some stretches, and for a 30-mile stretch of the upper river, catch-and-release fishing is mandated. Special regulations will usually be posted at fishing-access areas, but check ahead with the Department of Fish, Wildlife, and Parks or your fishing guide.
Links:
[1] http://www.moon.com/destinations/montana/the-missouri-headwaters-and-south-central-montana/three-forks-and-the-madison-river-valley/e/fishing-the-ma
[2] http://www.moon.com/destinations/montana/the-missouri-headwaters-and-south-central-montana/whirling-disease
[3] http://www.moon.com/destinations/montana/the-missouri-headwaters-and-south-central-montana/three-forks-and-the-madison-river-valley/e/ennis-lake