There is no perfect CFM per Horsepower ratio.Generally the bigger the engine the more heat is rejected, but how you handle that heat depends on how much coolant flow you have and how much radiator you have.
With enough coolant flow and a giant radiator you may get away with a very wimpy fan.
The other thing to consider is that a 400hp small block and a 400hp big block will be very different. the small block only makes its power at 7000RPM, but while cruising or idling will not reject as much heat (or make as much power). You dont cruise along at 7000RPM. But with the big block car, its bigger displacement makes it less efficient while cruising and will likely reject more heat.
With a stock small block coolant pump, and a modest radiator the 2500cfm fan is about a minimum. Of course how the radiator/fan is shrouded will affect flow, and they assume you use the fan as a puller not a pusher. Also many of the manufacturer flow ratings are based on zero restriction to flow - once you try to pull air through a radiator the flow drops.
Phil
------------------
'68 coupe, '66 289 C code
engine, edel 600cfm carb, performer intake, dual exhaust http://www.geocities.com/ottouk_77/68mustang.htm