First ask yourself what the purpose of higher education is. Is it a way to grow as an intellectual? Is it purely a way to achieve a higher income? A bit of both? If you can't answer this, you'll end up wasting everyone's time and money (especially yours).
The vast majority of employers don't give a shit what you majored in. What they want to see is some sort of evidence that:
A) you can honor a years-long commitment
B) you can learn difficult concepts
C) you're able to be in a room full of people for a sustained period of time without shitting your pants or going postal
What should you major in? Something you love, or something economically viable? Here's how I see it:
STEM degrees are more pragmatic in that they tend to do a better job communicating to employers that you can learn difficult concepts. If your want to make a career out of those fields, then they are usually mandatory to some degree. But if your primary goal is to simply be a degree-holding member of society and have no intense desire to devote your life to a STEM field, then it probably won't be worth your time in the long run. Why?
Here's what happens when you're freshly graduated. You have no professional working history to back you up as a prospective asset to a firm. It is in a firm's best interests to minimize the risk of hiring a dud, so they look at other factors. The main one is internship experience (realistically, internship experience will get your further than whatever the fuck your degree says on it). In the absence of any other indicators, they'll ask about your grades, but beyond your first job interview nobody gives a fuck about your grades either. The other main indicator is your major. Employers will perceive a higher probability of an applicant being able to learn job skills if their major involves learning difficult concepts. It makes sense then, that a STEM degree will be inherently more valuable in getting hired, right?
Once you enter the working world, as it turns out, studies have shown that the people with liberal arts backgrounds (specifically, have exceptional communication skills) are the ones who get promoted (look at all the fortune 500 CEOs with history degrees). Generally speaking, a STEM degree will make it easier to get your first job, but once you're hired you'll be less equipped to move up the company ladder. Who do you think will get a promotion: the socially inept genius who can't communicate his thoughts worth a damn, or the person everyone likes working with who can learn and then teach any task that's assigned to her?
The problem with a liberal arts degree is that any idiot can drool on a piece of paper and at least get a passing grade. They are much more sensitive to the initiative of the individual, and mixed with the large population of kids with liberal arts degrees, it's no wonder that sampling bias has created the perception of liberal arts degrees being for dipshits. If you're smart, skeptical, sociable, and above all work your ass off, then a liberal arts degree will serve you well. If all you want to do is do what's required of you and get a piece of paper, then don't bother - it is literally useless. Liberal arts degrees are valuable insofar as your ability to make use of the peripheral analytical and communication skills you learn, because if no employer cares about a physics degree, then they sure as shit won't care about a history degree.
Personally, I recommend balance. Come junior year, pick a major that is "impressive" but that doesn't make you want to blow your brains out (i.e. a subject that is challenging yet tolerable). For the first two years, brush up on being a quality human: read philosophy, make art, practice ever-loving fuck out of the English language, because in the long run these skills will put you ahead of all the alienating robots who neglected them. This way you'll be marketable to a wider range of jobs, and within each applicant pool you'll stand out from the competition.
Above all, don't get a business degree :)