All right… I’ll take a shot. Assumption: EB2 is faster train than EB1 and will start to catch EB1’s yellows if it remains behind EB1.
EB1 takes siding at station B
WB1 passes siding D, takes siding at station C
EB2 overtakes EB1 at station B, meets and passes WB1 at station C
WB1 departs station C after clearing EB2, meets and passes EB1 at station B
EB1 departs station B after clearing WB1.
The only way to keep WB1 moving is to drop EB1 into station B and EB2 into station A for the meets, meaning priority train EB2 has to wait for WB1 to traverse three stations. Mucho delay.
If WB1 -really- has the dogs snapping at his heels,
WB1 passes station D, halts on the main short of the west switch at station C.
EB1 passes station B, takes the siding at station C while getting dirty looks from a waiting WB1.
EB2 passes station A, takes siding at station B.
WB1 departs Station C as soon as EB1 clears the west switch, meets and passes EB2 at Station B
EB2 departs Station B as soon as WB1 clears, overtakes EB1 still waiting at Station C. Note - EB1 could move ahead to Station D and take the siding there to clear EB2. Depends on the physical layout (does the crew have to manually button up the sidings upon departure?) and whether or not the crew on EB1 pissed me off on their last trip. 
All three trains have to take a hit, but at least WB1 will have a close meet with EB1 and can peel right out on the main afterward.
Other than keeping them out o