In an attempt to come to terms with some sensible ecology, I took advantage of my university’s library and skimmed Ecology, 83(11), 2002, pp. 3003-3013 (The Effect of Prey and Predator Densities on Wolf Populations, John A. Vucetich, Rolf O. Peterson, and Carrie L. Schaefer). The paper contrasts various ecological models with hard data, obtained in from 1971 to 2001 at the Isle Royale National Park (Michigan, USA), a 544 sq.km. island in Lake Superior.
The data clearly shows that a constant kill rate (linear prey dependent model) is totally off, but even more complex models don’t really capture the process. Nevertheless, some useful values can be determined.
In the 1980’s the population dropped rapidly from 50 wolves to around 12. Focusing on the healthier more populated period, it is clear that kill rate remained mostly at around 0.5 kills per wolf per month (although it varied significantly). More importantly, we have around 40 to 50 wolves (74 to 92 per 1000 sq. km.), and about 1000 moose (1.8 per sq. km), a ratio of about 4.5%. The article notes that the minimum amount of moose required to support a minimal (4-strong) pack is somehwere between 82 and 163, a ratio of 2.5 to 4.9%; of the same scale, speaking as a physicist.
In D&D terms, a wolf is a Medium animal, and while the SRD does not contain moose but Silver Marches lists Elk as Large. I am sure that the numbers can vary wildly, but under typical conditions it would seem a ratio of about 4.5% Medium predators to Large prey (in biomass) is appropriate, which implies a ratio of 18% predators to prey of equal Size. A ratio of less than 10% should be explained by magic, and one in excess of 40% would mean a very inefficient predator (which could be made much mor plausible with an active scavenger population).
It would also make sense to have something like 2 Large sized herbivores per square kilometer, multiplied a few times surely for more esoteric herbivores in the area.
This is in Michigan, and the island seems to be a fairly typical Temperate Forest environemt. I haven’t considered how to modify all these numbers for other environments. Yet.