Teams know the cba and know they have the advantage over free agents. Teams are waiting players out because they know teams aren't going to bid against themselves. The top free agents already know what deals are out there for them, and they want more which is causing this stalemate.
Players aren't getting the contracts they want as quickly (or at all) now because the teams that actually spend the type of money these fa's deserve aren't allowed to due to outrageous luxury taxes. Instead of promoting spending, the league is telling teams to go ahead and Marlin it up.
That is not what is happening. What teams are actually Marlining it up? How many are actually affected by the tax or would be affected by the tax with an additional $20+ million? You have a handful that aren't spending huge money, but they also don't have the revenue to spend big money. These players are also pretty disingenuous, as even if a club like the Royals offered a huge contract to Harper or whoever, they wouldn't entertain it.
Only solution is to get rid of the absurd amount of years of control clubs have on players, the late-bloomers get absolutely screwed, or to put in a regressive tax on the low spenders to force them to a certain payroll level. Last year 25 teams had a total payroll of $100 million or more though.
The players getting screwed aren't the big stars, it's the players that are late-bloomers that never get an opportunity to get a bigger deal. Make it like other sports where you are guaranteed free agency by a certain age.