Doing what truly interests you and being poor isn't a bad place to be IMO and this being the worse case scenario since CS folks usually do well financially.
If you enjoy technology/programming, you most likely will never be homeless if you get a CS degree. The "Good" employers see passion in potential employees and usually want these type of people.
The education industry has fooled a lot of people into thinking you should pay a University gobs of money to study "something you love." You're only in college about 4 years. The rest of your life will hopefully be much longer than that. You're paying the university for a degree that is supposed to help you get a job, nothing more. If philosophy or art history is your passion, buy some books and study it on your own time - that's free. You don't need to pay a university to pursue your passions.
All of that being said, I think it's still a great time to pursue a CS degree. More people are going into it, but there's also been an explosion of tech startups, and tech companies in general will continue to grow.
It seems you are worried about undergrads flooding the market when they graduate. I wouldn't be worried. Assuming that the higher enrollments are people that smell money, its very easy for interviewers to filter that chaff. You can ask a simple question like "What's your favorite programming language and why?" and expect a reasonable response. Bandwagoners without a passion for the subject won't have a good answer. If you aren't sure, you can follow it up with "What's your favorite programming language that you weren't taught in class?"
Bandwagoners are amazingly easy to spot. I used to work in a company full of them. I resigned.
Let's say I loved art. What use is studying art history if I can't get a job and would be living paycheck to paycheck.