There shouldn't even be any compensation systems. Misinformed socialism failures. Well, the implemented ones surely have been.
The old system: Better teams had better players, so they ended up having more free agents ranked as Type A or B. The richer/better teams got even richer. The only way for mid/small market teams to benefit from the old system was to "game" it heavily.
The new system: The qualifying offer system kind of defeats the whole purpose of aiding team that can't afford to keep good free agents. The richer teams can more comfortably offer free agents an expensive QO - smaller market teams can't take the risk to the same degree, especially with borderline players. We also have the same problem as the old system in that better teams have more QO worthy players, so we end up with the better teams getting more compensation picks. Rich still get richer.
Solution: Get rid of the qualifying offer system. Tie free agent compensation to what the players end up signing for, and scale the value of the compensation by several factors including: The price the free agent ends up getting, the losing team's payroll last year, the losing team's record last year, the signing team's record last year, the signing team's payroll last year.
So if free agent John Doe gets a contract above or equal to X total dollars, then the signing team gives up a pick according to those ^ criteria, and the losing team gets a pick according to those ^ criteria.
If the free agent gets a higher contract, then the surrendered/compensatory picks should both be of higher value.
If the losing team's payroll and record were lower last season, then the compensatory picks should be of higher value.
If the signing team's payroll and record were higher last year, then the surrendered picks should be of higher value.
I don't really think it's that complicated. A scaled and more thoughtful compensation system would help all parties. You wouldn't get the market freeze on fringe comp guys like Morales, Cruz, Santana, etc. because the scaled compensation for them would be pretty small, assuming they don't get large contracts. There's also an effort in here to help a s*** poor team that can't afford to keep a star more than help a good rich team that chooses to let a star walk.