At my school the attitude was "JUST GET A DEGREE, it doesn't matter what it is in." You have guidance counselors/teachers who have no idea how the real world works and think everything runs the same way it did when they graduated. Even at my university the intake for arts + social sciences was well over 40% of all enrollments.
I agree with your comment regarding lack of science/math requirements. Unless you know want to go into some sort of Science/Engineering degree there is no reason to take said courses and thus lower your average, especially if you want to graduate within four years.
The curriculum needs a complete overhaul, its complete and absolute crap. You should need to take at least two sciences in grade 11 and at least 1 in grade 12. You should also be required to graduate with grade 12 math. Currently you only need science up to grade 10 and math up to grade 11. No one going to university should be going without at least a one 4U science credit and the 4U Calc credit. This gives students more options, because once you get to school and realize "well crap I never took Physics/Chemistry/Calculus I can't switch into engineering because it will put me back at least one year and cost me money that I don't have, well I might as well just get that History degree". Furthermore I think a 5th year of high-school should be mandatory, it gives students another year to prepare for school both mentally and financially.
That being said we also need to limit the amount of people going to University because if everyone goes to school to be a engineer/doctor/scientist well then they won't have jobs either. Right now it seems that the undegrad is the new highschool which is pointless.
Of course it isn't going to be that easy, you need to find an increased amount of high school teachers in the math and science fields in some of these streams it is hard enough to find teachers, let alone good teachers. You also need to be able to accommodate another year of students with not only space but support staff etc.