Overseas players are vital cog in a IPL machinery but franchise can't go after every foreign players. Demand and supply matters, for example if there are tons of solid openers and spinners available for the limited slots then obviously many would go unsold. Just look at every squad, almost every squad has at least 2-3 Indian batters who are ready to open the inning for their respective franchise, same with the spinners.
On budget i think BCCI should increase the overall purse, let's say additional 30% if not 50% because they earn shitload amount of time but with IPL they are into only business, that's it. Yeah it does help players on many account but its purely business. This brings another point if some players are not available for full season then they clearly don't deserve big amount, no matter how talented you are.
Yes, that's correct that all franchise has a habit of overspending on some undeserving players be it overseas or local but it also true that their value would go down drastically if they don't deliver, unless they are extremely talented. Remember its not a charity but investment for the franchise.
Overseas players are often bought with a lot of money but a lot of time we can see that they leave because of international duty and many other reasons.
I think the other reasons can be forgiven but if the IPL knows that someone will have to leave because of international competition then I think they shouldn't be bought for or the money for him should be less. And some players are also going to get unsold because not everyone can get a team and there are just so many players.
I know that the franchise have a habit of spending and I absolutely agree because I really cannot see some of the players being worth the money that they were bid for. I think the bidding could have been smarter, to be honest.