My S17 had an upward trend, with a lower Freshman year (one C, several B’s) owing to extenuating circumstances. His overall GPA starting senior year was the same as yours, and he also has about a 3.9 senior year. He got into Haveford and Carnegie Mellon (with scholarship). So those sound like good options.
He doesn’t do sports, and he has good standardized test scores for those schools, and solid EC’s.
CMU reportedly does not consider freshman year when judging GPA. And most colleges state they like to see upward trajectory. My son had similar grades by year as you, and he was accepted (& attending) CMU.
Colleges want to know you can succeed. You have shown you can do better in courses that are harder now that you are a Junior. Also, your Guidance Counselor and yourself can talk about the extenuating circumstance (GC in their recommondation and you in the “additonal information” section of the Common App).
If you are a California resident, be glad that CSUs and UCs calculate GPAs using 10th-11th grade course grades (although UC admissions readers will see all high school courses and grades).
Generally, for schools with subjective admissions reading, upward trend is better than a level trend or (especially) downward trend for the same GPA (obviously, a 4.0 unweighted GPA can only have a level trend).