You could enforce the pickups and setouts using activity events instead of using the work order setup. I have seen quite a few activities done this way, but it is probably just as confusing to understand - the upside of doing it this way is that you can get a popup when the pickup or setout is made and it won't miss any - unlike the work orders that can miss a pickup or setout if you are outside the siding markers. You can also enforce a train to be assembled in the correct order in the same way.
Activity events aren't exactly straightforward to set up, particularly if you have a lot of them, but they are very adaptable. Once you understand how they work, it gets easier - the in editor help was useful for this, even if it does lack a bit in detail.
If you use this method, you also get a far more in depth evaluation at the end of a run. I have played with this method quite a bit, but haven't actually released any of my attempts - but i found shunting (or switching if you are American) is far less ambiguous if you get a pop up telling you you have done your pickup, instead of wondering why it hasn't registered in the workorder and getting an activity failed message when you know you have completed it.
Unfortunately, i can't really offer many tips on this method, as i am still learning myself - but i started by experimenting with a few items of stock in a small yard, and seeing what all those settings in the AE do.
Best of luck
I believe that, in creating man, God overestimated his abilities - Oscar Wilde