I also think you're right - there doesn't seem to be enough innovation in regard to compensation. Even bonuses don't necessarily create the right incentives - often these seem more related to the overall health of the economy rather than work or contributions. While it is a good idea to share success with employees, regardless of the cause, it does little to encourage employees in their individual actions. While you say this sort of salary structure is in reaction to a company's growth, it seems like they are even less useful as a company grows and each individual's contribution has an ever smaller affect on how well a company ultimately does.
I actually have asked multiple times to work in different departments at my day job to get a better sense of how users use the stuff I'm making. I feel it's necessary to do my job well. _Necessary._ But the culture just isn't open to that I guess. Short of quitting, I don't see it ever actually happening.
I completely agree with you about compensation. At a big company, the bonus I get has no correspondence to what I actually do. I wonder if it would work out better if profits were broken down by product, for example. Then, if you worked on a given product, you get a cut of the profit for that product. At least then, the profit from big hit products wouldn't be split among everyone in the company.
In the beginning, when a startup is very small, everything is transparent. Everyone knows who's doing what, and their share of the pay/company can be proportional. Kind of like the way Joel Spolsky describes having compensation open, not a big secret how much every person is being paid. But as the company gets bigger, you might not even know all the people there, let alone what work they're doing. The transparency breaks down.
I was already considering ideas of how to measure contribution by analyzing source code that you commit. But this obviously only works for code. Not all value contributed is through code. Maybe each department or kind of work could have its own scheme. (Manning the phone, for example, probably _should_ be paid hourly.)
In the end though, some hybrid will probably make the most sense. I'm looking for other ideas too.