I fear that B is apt to lead to an extension of, hence increased cost of, college (because of having to take prerequisites - which the gatekeepers might be tempted to expand - for a major that students don’t ultimately do). While I see A as more efficient than B, it doesn’t suit students who, prior to commitment, should have more information about the major than what they’ve acquired through the earlier phases of their lives. Best, I think, is C, to accommodate students who already know what they want and also those who are not sure.
Yes, if there aren’t jobs matching the number of graduates, there will be even more waste and disappointment than if a student goes to college hoping for success in a secondary admission process that isn’t realized. (If there really can be expected to be jobs in the field for the additionally enrolled, as in the case of computer science, it’s a different matter.)