Ask yourself where your interests lie. Look out for interdisciplinary opportunities. In a graduate program you can often take electives from the department of your choice and you can opt for suitable electives from the computer science departments. You may end up in a software job even after majoring in mechanical engineering. It is better to pursue my graduate studies in computer science in a university ranked 120 rather than pursue say Chemical engineering graduate studies in a university ranked 20.
Career opportunities are available in every field.
Students majoring in Computer engineering and Communications may start off with a slightly better pay packet as compared to others. However once you begin working it is your work ethics and performance that is going to hold you in good stead. Rankings of graduate schools indicate their quality. In the long run you will realize the importance of graduating from a good graduate school. I will face problems getting my VISA if I opt for changing my major.