How about each airport has an area of influence which is a circle around it based on the size of the airport. Overlapping circles would be like ORS rating, ie the airport size give the circle a given strength which goes to zero at a constant rate (which is what make larger airports have bigger circles...) and the demand from a given area calculates the difference in rating between two airports at that area.

This would not be calculated every day, but be a one time calculation. If there is no flights from one of the competing airports, those airports are ignored by passengers. This would perhaps in the short term be able to be automated on population density/distribution maps which I am certain exists and could but later overlapped with wealth distribution charts or a estimation of the two.

A simpler way would be to say downtown =max then have a radius from there on out and in North America Downtown generally equals lower income and higher income on the outskirts of the city while in Europe it is the opposite (thus create another radius for F C and Y) and thus you would only need to input a given cities population and location, all you would need to find out after the population size would be if other regions follow the NA or EU model.

This would take quite some calculations but would not need be repeated often and can be easily automated once you have the population and region type ( I can help, for a fee :P).