For the most part, players are underpaid for the first part of their career, and only a few get paid like kings once they reach free agency.
The owners must not mind overpaying, and sometimes big and long contracts do work out. The ones that don't are more than made up for by the under paid.
I agree, the system should be improved, and I've always wondered why the players go along with a system where only a select few make a huge chunk of the money.