One-way tracks have higher throughput and will not create gridlocks, which you can get with bidirectional tracks. A bidirectional track is nice if you need some additional capacity next to the one-way tracks but in most cases you are then better of to make 2 additional one-way tracks instead of one bidirectional track.
Yeah, I actually went ahead and did 2 tracks in each direction to allow bypassing broken down trains. That works well, and should scale nicely. Takes up a lot of space though.
I've noticed on seriously taxed cargo routes the bidirectional tracks are a mistake since the cargo output is so high, trains are running nearly back to back to back. I think there might be some use for this in very long distance passenger routes that are point to point or circuitous, since it seems they're usually less dense and more spaced out than a lot of high-volume cargo routes.