At the end of the day they are a scarce, highly demanded, revenue generating asset and as long as people are renting them,
someone will price them appropriately (i.e. whatever the market will bear). It should be the city capturing that revenue instead of Mario's Medallion Rentals [1]. There are externalities to having a bunch of taxis clogging up traffic - $500 million per year in wasted time alone. The city is the one who spends to improve mobility.
At the end of the day taxi service is a business. Nobody goes homeless because of the scarcity of medallions for roaming taxicabs. Driving for a dispatch service or doing other work - yes, homeless - no. If you're suggesting that we do it as a subsidized public-works jobs program, I can think of much more deserving projects than driving a taxi. I'd rather have them driving subway trains instead, for starters.
[1] Note: the current system does not capture revenue for the city very effectively, but it should.