Everyone says it's a money issue - it costs time and money to play warmup games, time that could be spent playing JAMODIs to make more money, and money that could be spent on, um...something. No one really specifies what.
Let's just assume that a touring team is bankrupt, and they don't have the cash on hand to pay their players, coaches and staff for warmup cricket, nor can they afford hotels and logistics and the like. They have just enough cash on hand to get through the scheduled Test series, and the JAMODIs, if any.
How do we make these more competitive?
My first suggestion would be to schedule tours better. We already see this happening. To start with, schedule all your tours within a region all close together on the calendar, starting off with the nations lower on the Test rankings. Like Pakistan did by playing Ireland then England, or Australia/England did by playing BD and then India. It means when you come in raw in unfamiliar conditions, you aren't immediately against the best team in those conditions. You start off with a softer opponent, and work your way up to the main event, by which time you are hopefully warmed up and acclimatized and thus won't get ripped to shreds. If SA could have scheduled their recent SL tour to follow a BD tour, they might have been more competitive. This doesn't really work when sides tour West Indies (who do you play before them?) or NZ/Aus (both equally competitive, but fairly different conditions).
In cases like these, or if you want to go a step further, you can scheduled A Team Tours ahead of the main tour - like India have done by sending India A over to England right before their own Test series. This is a great way to get fringe players/players not involved in the JAMODIs a chance to get ready for the main event. England are also known for sending their England Lions over before their main team for a tour. This tends to work well. You also gather information that can then be useful for the main squad's preparations.
My second suggestion would be sending over Test specialists to play domestic/club cricket in various parts of the world when there is no local domestic cricket or Test cricket for them to play. We're seeing this happen already too - witness Pujara and Ishant taking up county stints. It would be good to see England, Australia and South Africa start to explore the possibility of their Test specialists going over to Asia for a while when they have no other cricket scheduled.
The last suggestion is to focus on Test Specialists in every squad. We already see this happening too - but in the case of nations like BD, Pakistan, SL, it's again a money issue. Test specialists seemingly don't get paid as well. This is blamed on the lack of Tests these countries play, which is another issue in of itself - it's hard to be a Test Specialist if you only play 4 Tests a year. Some work needs to go into getting these guys better contracts, and to ensuring they get domestic/club stints overseas when they have no other cricket to play, in order to keep them in touch and ready for big tours.