I have little doubt, by the way, that the booming compensation for software folks in recent years is partially a function of how few people in their mid-30s to early-40s today did CS degrees during undergrad.
For undergrads today, though, I suppose the good question is "what else is there?" (i.e. providing a path to an upper-middle class American lifestyle). Pre-med programs have long been over-enrolled with med school admissions being super competitive. Business and law degrees only matter if they come from the top schools where admissions have long been super competitive. My own kids will start having to figure this out soon, and I don't know what I'll suggest.