One piece of advice I read here that helped me a lot was to try just playing with things in "train table" mode to see how they work. "Train table" mode is one of the difficulty settings in any scenario. That just lets you set up tracks & trains and play around with them without any real consequences. If you don't like how the routing ends up, no harm, no foul, go back to an auto save from several minutes ago, or just start over.
I wouldn't advice experimenting in "Easy" layout mode, though, because then the trains will just travel through each other, and you won't see where the routing hangups are.
What I usually do is start off with single track most everywhere, and start with express cargo as much as possible, without any overlapping of routes. When you need to bring in raw materials, use a spur line and double track only at a station. If your spur is far enough away from the station, you may need to make a passing lane in the middle to keep things running smoothly.
I'm far from an expert, though, but that's what works for me early on.
Later, I'll make a dedicated track for express traffic, and use the 2nd and 3rd track to switch cargo in & out. Eventually your busy lines will be triple-tracked all the way, with switches along the way to prevent hangups.
It takes a while to get the hang of avoiding routing collisions, and the game is unfortunately not real helpful with pointers for fixing things, or tools to help you manually unsnarl jams. I find track loops to be a particular problem. If a train sees a blocked line waaay down the track, it may go all the way backward on the loop rather than waiting for switches close to its destination. Sometimes this is a case of not enough switches, sometimes it's seems like it's just the routing AI being dumb.