I'm gonna revise what I said above because things were different when we went to the short-sleeve sweater game against the Yankees.
That was a Friday game, vs. the Yankees, with a giveaway, on Father's Day weekend, so it was a massive sell-out crowd. My wife really wanted the sweaters so we went two hours early. We parked comfortably (lots of parking at that time) and then lined up at Gate 11. By the time we lined up I'm guessing it was around 1:50 before game time and we were like 30-40 people deep in the line. Once the gates opened though (20 minute wait), line moved as fast as it always does and we were in within 5-10 minutes.
I'm guessing because it's summer, people are more willing to lineup ahead of time, especially on sell-out crowd days, which the Canada Day game definitely will be. So yeah, I definitely suggest going 2 hours ahead of time.
Normally they open gates 1.5 hours before game time on weekdays and 2 hours before game time on weekends, I'm not sure if they'll open earlier on Canada Day because it's a holiday but I'd definitely account for that possibility.
Unfortunately, this is entirely dependent on when they open the gates. The home team always takes batting practice first and it's usually hours before the game. The only way to see any Blue Jays at all in BP is if the gates opened 2 hours ahead of time and you went in right at that time. In those cases you might catch the last little bit of Blue Jays BP.
Then the other team comes out and does theirs. You'll catch a bunch of the away team's BP even if it's a weekday and gates didn't open until 1.5 hours before game time. We always go early and pretty much always catch a few of the away team's BP squads.