What all of you are assuming is that there actually is or will be a need for bi-directional service for the entirety of the line. When in truth the town of Stouffville is little more than a bedroom community of Toronto. Any mid-day travel to there can be easily accommodated for by buses for a long time. Mount Joy meanwhile was built primarily as a relief station for Markham due to a lack of parking at that stop. They are also only 1.2 miles apart, the two closest stations in the entire GO system. Yes Markham doesn't have much parking, but surely we don't want to encourage people to drive to the stations when other forms of transport are available(bus, bike, walk). Besides by mid day most parking lots along the line are already at full capacity. So that leaves us with full day service to Markham. Travel times between Unionville & Markham by train is 10-11 minutes. The double track section that is in place(yes its currently designated as the 2nd track and not just a siding) begins just south of Unionville and because the bridge over Enterprise Blvd was built to be wide enough for two tracks you could easily extended the double tracked section to just south of Highway 7. Past this point you wouldn't need more than a single track, even for half hour service to Markham. To get to Markham, while making an additional stop both ways at Centennial of course, it would take 9 minutes. The train can then be turned around at Markham in 8-10 minutes(could be done in a little as 5-6 minutes if they ever decided to make a little modification to the equipment) and then another 9 minutes to get back. Total time; 26-28 minutes. Enough for half hr service, which would see the trains meet at Unionville. To increase reliability you'd probably want to grade separate Highway 7, Kennedy Rd and McCowen with your typical underpass. Only Highway 7 would have some difficult access issues. Eureka st. would be closed as really there is absolutely no need for this tiny crossing. Sinder Dr, while quite busy for a small street would also be closed as its a dangerous crossing for trains coming around a tight curve. Many times I've seen cars going around the gates in front of us. Lucky for them these's a 25MPH speed restriction in place there, giving them enough time to scoot away. Springdale st. could easily be extended to Raymerville Dr. to re-access the community after Sinders rd removal(level crossing) and indeed it looks like it once was connected with nothing more than an empty lot keeping them apart. Main st. Unionville would be kept as a level crossing since as its crossing exposure index(number of vehicles using the crossing multiplied by the total number of trains per day) even with half hour service on the line would likely be below the standard when a grade a separation would be considered(200,000). Still even if it was slightly above this amount, that by no means mandates a grade separation. Strachan Ave. for instance had an exposure index of
686,000 -
way back in 2000. And this was only the 9th highest rating of all level crossings in the city of Toronto at the time.
http://www.toronto.ca/legdocs/mmis/2008/te/bgrd/backgroundfile-16917.pdf (pg 3)
Other than that, the current double track section which extends for little more than a mile, would have to be extended by around 10 miles to at least to a point close to where the line connects to the Kingston sub at Scarborough GO station. They would probably want to consider grade separations for at least Steeles, Finch & Danforth. The narrowest part of the right of way I've seen is a little over 40 feet from a building east of the track to the SRT fence on the west. Still, two tracks can easily fit withing 30 feet so there are no issues.
Of course this line won't suddenly just get half hour service(not for probably a decade). For hourly service they don't have to make any improves north of Unionville to accommodate it, even to Mount Joy. There's more than enough time for trains to get in there, turn around and get back.
Then only flaw with this is that during rush hour reverse commute trains would have to turn around at Unionville instead of Markham. Unless they built a short 2nd track/passing track at Markham where those trains can wait.