Well, to be fair, I don't think that it's all about greediness. Of course - I'm on the side of the fighters and believe the UFC should pay more, but it's also reasonable to say that they cannot just outbid every single great fighter in other promotions. If you are a big name in a smaller league, the company will offer you the best contract they possible can because you are the one who generates views for them. For the UFC, you are definitely not worth that much, and if you turn out to not be as good (as many big names from other organizations do), you will get lost in a roster and that won't justify the contract you got in the first place.
Let's take some KSW for example - they paid Khalidov and Soldic approx. $1mil for their fight as their stars. But from the UFC perspective, they're just newcomers so there's not a way they will try to outbid that and possible lose a few milion dollars if these guys won't end up being as good as their hype. That's why very often they sign guys like Pitbull, MVP or RDR late in their career or after they take some losses first and when their market value in their original promotion drops. Or try to sign guys like Ruchała who is a secondary talent in KSW.
It is what it is and it probably won't change even if UFC gives a bigger share of their revenue to the fighters.