My reasoning is: in the next 50-100 years, there will be a ton of breakthroughs in other fields brought about by sheer number crunching. Biology is seeing this with bioinformatics, physics is seeing it by being able to process the humongous amounts of data thrown off by modern equipment like the LHC, etc. Having a CS degree allows you to work in any of those fields, applying your knowledge of computation to help others achieve decidedly non-useless breakthroughs.
To give an example, the biology department at my alma mater is recruiting CS grad students as fast as it can to help implement some distributed system to simulate protein interaction (or something like that, I know so little about biology that it's embarrassing).
I'm not saying CS should be the default choice of every technical person, but it's not utterly useless to other fields. In fact, I'd say CS is _more_ useful in this case than it is to cubicle software jobs, because in the average Enterprise Doohickey, you aren't doing anything complicated enough to care if your algorithm is O(n^2) vs O(n).