I don't think companies should at all be based on XP, but rather things like achievements. If you had a company rank that was based on the sum total of all the achievements of everyone in the company against all possible achievements, you'd probably have a realistic view of the overall rank of the company.

Imagine there are 1000 achievements possible (stuff like hitting r50 in a class, etc).
Imagine the company cap is 100, and the max company rank is 100.

If my company has 50 people, each with 500 achievements, I have a total of 25000 achievements out of a possible 100000. My company is then ( company achievements / max achievements ) * max rank or ( 25000 / 100000 ) * 100 or rank 25.

Thus, in order to hit max level, you would need 100 people who had done everything there is to do in the game in your company, something that is probably impossible (and so this becomes something that is never really able to be completed, something to always strive for).