TL;DR
Trains could have a circuit network signal as well as read contentsWhat ?
My suggestion is that you can give trains a signal slot for say Iron or Copper or anything else and the Station can read train contents or send signals to the train as is now but a check box to read the train's single circuit signal.Why ?
Sometimes it would be nice to be able to identify the type of train going into a station, for example my station might be able to load both Copper and Iron but I want to identify if a copper or iron train is in the station, one way is to set all the inventory slots in all the wagons to iron or copper and use filter inserters and then only what can load will load. Or to read the train's number and decode each train, or to add a wagon to the train and send that to the network with items generating the circuit conditions. But all of these are large complicated solutions that require manipulation every time you add a train or change a train type.This one circuit condition slot would save a huge amount of hassle of mixed ore stations and allow for better control of trains and stations in general, I could set up one building train station and have it load and unload specific items depending on whether the building train is set to say, solar mode, or furnace mode, or laser/wall mode, or assembler mode
For ore loading stations/trains it could allow for setting of filter inserters direct from the train. but for more complicated multifunctional trains loading and unloading filter inserters could be used in tandem with a decoder array of combinators to set what is loaded into the train.
The idea doesn't do away with all complexity but adds new ways to think about and expand the whole train network.