Here's advice from someone who has been around the block a few times, and has studied this very question.
Don't study English or Political Science or Sociology, or anything like that, unless you want to work for Walmart.
Don't go into Medicine, or any other field that is shifting into government control, unless you want to work for the government. And even then, don't go into a medical specialty than can be easily outsourced to Romania, such as Radiology.
Don't go into Science, unless you are either so smart that you can get tenure as a full Professor at a University, or you are happy spending most of your time writing research grant proposals and chasing after the next research grant.
Don't go into Engineering if there is any chance that someone else in India or China can do the same Engineering. Only go into Engineering if you can find a niche that involves regular, day-to-day, face-to-face contact with people who have to be local to you, or requires hands-on, physical contact with immovable subject matter (such as mines, oil fields, chemical plants, and bridges). Otherwise, any Engineering work is prime to be outsourced to India or China.
Basically, pick a career that requires daily, face-to-face interaction with people in a place that you would be happy to live, or hands-on work with immovable artifacts in places that you would like to live.
(Oh, and don't go into Law, even though it seems to apply to these criteria. New Lawyers are all getting screwed these days).
Mathematics is a VERY hot field right now. Good Mathematics majors are getting amazing career offers these days in a variety of industries. If I was starting over now, I would probably major in Mathematics. But, again, it needs to be a sub-specialty that requires working with people face-to-face daily, otherwise it is prime work to be sent to India or China.