If the engineer provides $500k value per year, and they get paid $500k per year, the company makes $0 profit. By that logic, the only way to not be underpaid is for the company to be in the red; but if that happens, there won't be a company to pay you!
Plus, it's likely any other engineer could provide the same value. So (as always) it's about supply and demand. In this case, there are a lot of qualified engineers that want to work in games, and relatively few positions.
Unions could affect that, but I think it'd do more harm than good at the high end (it would definitely help lower paid positions like QA though).
Maybe if Epic wins their case against Apple, it'll unleash a tidal wave of anti-trust lawsuits against the likes of Sony, Nintendo, Microsoft, Google, etc. and the game industry will explode with new business opportunities, new investments, and new jobs to balance out the supply/demand curve for game developers at all levels!
(...or not)
A workers co-op, for instance, splits all the profits between all the employees in an arrangement that is basically "we collectively produced profit X we all get an equal share of that profit."
While "unnatural" is the wrong word, imo, I think it's fair to say that it's "unfamiliar" to most folks and "uncommon" out in the world.
It's why many existing co-ops such as Bob's Red Mill were founded, funded, and built by capitalists but later gifted to the employees once mature.
Even a mom and pop shop of 1 needs to operate on these parameters. Heck, even a personal checking account. You keep some money in reserve for a rainy day, and some in the deep reserves for retirement (401k). You very rarely get 100% of your money in liquid (regardless of if you feel underpaid or not), nor do many desire to.