For Canadian schools you want to start by looking closely at their specific minimum requirements and make sure you will meet them.
For McGill, check historical cutoffs here, but realize that cutoffs may change from year to year: Requirements for U.S. applicants | Undergraduate Admissions - McGill University
U of T minimum requirements for Arts & Science are here, and Computer Science will be the most competitive in terms of the grades they’ll expect: U.S. High School | Faculty of Arts & Science
UBC is more complicated because they don’t have direct admission to the major. Here’s UBC’s page on the various pathways to Computer Science, I suggest reading about this (if you haven’t already) and then browsing around to look for the specific requirements: High School Students | Computer Science at UBC
I don’t know much about Waterloo’s application process, as my son only applied to the above three Canadian schools.
In general, the Canadian schools don’t care nearly as much about your extracurriculars as the US schools do (and McGill doesn’t even look at ECs). The important factors will be the courses you took, your grades (especially in the prerequisite courses for your program), and your test scores. For competitive programs (like CS), they’ll expect you to have top grades, especially in math.