You will probably not be able to get a good average income for an area without getting more specific data, but you might be able to attack this problem by making some approximations and checking them/following up.
Some assumptions you could make that come to my mind would be:
- Assume that on average most people in any given bin is at the average for that bin.
- If you want to be more slick you might have a better distribution within each bin. You could use this calculate the average in each bin and then you would be done. (eg maybe the distribution of data is log-normal)
The trick is if you can get the mean within a bin for an area you can then perform a weighted average. Most of the methods I listed would assume independence of the bin average as a function of area, but you might find that unacceptable. In that case you would need to try to reconstruct a function that calculates the average bin income as a function of area, which seems more ambitious than your original project.