Personally I would say do maths with a CS minor if you want to be treated better than the rest of the herd.
I would actually not recommend this, at my first interview with IBM (there was like a total of 6). All he cared about is what Computer Science courses I took, I brought up a math course, discrete math which is direct at Computer Science and he said, "Oh that's just another math class isn't it?" I don't care about Math classes, just core programming courses. All he wanted to know is what kind of projects I've done, what core computer science classes I took, (not the basic intro/intermediate programming), do I do any out of school projects, etc.
The guys interviewing you are managers who haven't coded in awhile, they want to hear key words in the Software Industry, not abstract math classes.
So when it comes down too it, I would say the one with more computer science skills rather than abstract math would be the one who gets the job (if you want to be doing Software Design/Engineer).
If your developing algorithms perhaps math major would be better.
Learn languages that aren't used in industry - like Lisp or Scheme, there is more to programming than just knocking out another Java app.
Another thing I don't agree on. IBM wants Java programmers, Google asks several questions on how you would solve something in C on the interview. You don't have a chance to even write anything down, you solve the problem in your head, and say the exact syntax, if you miss a slight syntax error you don't get another question. (it sounds easy if you are writing it down).
If IBM wants someone who is skilled in Java Network programming/Java Server Pages/Java Server Faces/Java Servlets/Portals, who is going to get the job?
The guy who knows LISP/Scheme or the guy who knows the popular Java technologies?
I do agree Java is so so easy to program in that's why its so popular and its cross platform. C++ has nothing over Java.
I say if you want to really appreciate Java, Learn C, which is still used in the industry. I don't know many Software Industries that would even touch LISP/Scheme unless it was in AI or something more scientific.
I do strongly agree here though:
Learn about testing, debugging, source control and other engineering tasks that don't get taught much - the best way to do this is probably to work on an open source project.
All the projects I work with use CMVC, you have to get use to checking in and out your code and doing builds that don't break other people's code. Testing is a job in itself. I know several computer science majors that went to grad school to focus on testing and are working in the testing/automation area at IBM.
I say if you want a job, Learn what the Industry wants, if you want to stand out, be exceptional at what you do.