One suggestion I have:
make vehicles available only in a certain amount, especially new vehicles. E.g. a new tram is available it will be produced in x items per months, so like after the first month maybe 5 items are available. The same could happen when blueprints getting old so their availibility decreases.
This way one can’t replace all dozen of trams in different cities at once and vehicles would become part of strategy where one might decide to have them run longer (maybe on not so important lines) to have enough vehicles available.