Don't give too much passive money that comes out of nowhere. I understand that for those that aren't well-versed into roleplaying as much as others, or don't have any good friends that they can do business with it'll be harder to earn money but the incredibly unrealistic economy on SAMP existed because money was basically infinite.
With that said, it shouldn't be too hard either. You should have an X amount of money in the hands of the ''state'', to pay the unemployed (or scripted jobs) that is filled back up on a monthly basis (through money injections from the federal reserve or whatever). This could be 2 million, 5 million, 20 million or more whatever works with the amount of players we have. Either way, once it reaches zero all the unemployed can't receive any more money untill it's filled back up. Like this you're still gaining money from an ''infinite'' resource, but the economy will be more dependent on money and transactions made from player-to-player.
For the illegal side, there should be more ways to work the economy. For example the possibility to launder money, and if too much money is spend without proof of existence (Profit obtained from illegal activities and then spent without laundering) the authorities will be alerted. In real life this is the SEC I think (?, not sure if it's actually the SEC since I don't live in the USA). If there is not enough PB for an actual SEC faction, IC this could just be PD's investigation force (Detectives, whatever)
Also making ''fake'' money would be cool as long as you can't make 4 million in a weeks time, this should also obviously only be for the bigger (official) illegal factions. This fake money would undeniably need to be able to be caught someway or another, in real life this is done through a scanner you can often find at supermarkets, banks and restaurants. This could be implemented too.
You could add a way to make the fake money more convincing or not for the scanners, otherwise every shop can just spam the scanner and deny any fake money making it useless. Making the fake money more or less convincing could be done through a percentage. The more time and money spent making the fake money, the more convincing it is. For example, if you want a 92% (random high percentage) you only gain 0.1 of the money spent to make the fake money. So if you spend 10 dollars, you'll have 11 fake dollars once it's done with a 92% match with real money.
But if you want to roll the dice and make it match for only 45% you gain 0.7 so 10 dollars are now 17. But why do we need to spend money to make fake money? Printers, workers, paper, whatever excuse you want to make. For me it's mostly to make it balanced would something like this actually be implemented.