I think the way to go would be to have all transit be funded by a combination of user fees and tax increment districts in the areas served by transit. After all, it's not just the subway rider that benefits from the existence of a subway line, but all the businesses and residential developments near a subway stop too.
But the same would have to apply for road construction. Those segments of state highways snaking through suburbia should be entirely paid for by those who live along the route, not from the general tax revenues of the state. And gas taxes should be raised so they cover the capital costs of the interstate system, not just ongoing maintenance.
And while we're at it, the Army Corps of Engineers should stop subsidizing the west coast by damming up the rivers of the United States. If you want water move to somewhere that has water.
[1] That's without even reaching all the theoretical implications of the use of eminent domain authority, state rights of way, etc--you can't discount from the value equation the opportunity cost of using an existing state right of way for a highway versus a rail line.