I'm looking for a way to simulate turnaround behaviour for trains. The main idea is that it's very unrealistic that trains are reversed like they are currently.
Before you think it's too much work to do it - I'd have time

Solution 1:
Two-ended trains are allowed to drive into the opposite direction in stations. However, their waggons should not be reversed, like it's currently the case.
One-ended trains reverse like it's currently done, but there's a penalty. If you spend the effort to buy two engines, you should have an advantage IMO.
Solution 2:
Two-ended trains: Like solution 1.
One-ended trains can drive backwards, but not with more than 30 mph. This is a form of shunting (German: "Rangieren"). Someone is standing at the non-locomotive-end and communicating to the train driver. A shunting train can not take any passengers (for safety reasons). It has to shunt out of the station and try to somehow return to it, but in reverse order. This is usually done with a depot.
Solution 3:
This is crazy, but the result would be fun to look at.
Two-ended trains: Like solution 1.
One-ended trains can decouple their locomotives. If a train shall reverse in a through station, the locomotive can decouple and drive to the other end. Alternatively, another locomotive might pick up the waggons and pull them into the reverse direction. This is very realistic and typically done in dead-end stations. It requires to have a locomotive waiting in the depot.
Edit: Just found this thread where there was an attempt to enable shunting.
All in all:
Solution 1 looks very easy to do. Solution 2 would be more complicated. Solution 3 would require to allow waggons being shared by different locomotives; I guess this would be very hard to do.
Please share your thoughts, or ask me in IRC ( nick "_johannes" )