I've faced this dilemma and chances are: most of us have faced an issue that is similar to this. One of the most important factors that an incoming college freshman should never do is base their admissions on college rankings. Most of these rankings do not include majors and how does one truly measure how good a school is? There are always going to be students who are at the higher end of their studies and students who are not doing so well. Many of the college rankings are based on what colleges send the surveyor and if the college doesn't supply certain data, to remove this hierarchy between colleges, they are simply placed lower or even removed from the rankings list.
Second, I strongly suggest going on a campus tour and really get to learn the environment and the people you will be sharing your academic life for 2-4 years. Even if a college is amazing in a certain studies, it doesn't mean anything if you are receiving bad grades for not adapting to your surroundings.
Third, see if your actual major is offered at the college and if there are other courses than slightly differ from it. For example, if a student realizes he/she wants to do business and they are not enjoying business administration, then maybe they can switch to marketing.
Lastly, is never pick a school based on where your bestfriends/"special someone" is going. It is alright to go to a school if the location is a concern, but chances are you will make more friends and better relationships on any campus you attend regardless of your previous friends.
Most importantly, never rule out a school because it is too expensive. Schools WANT students to attend, they often offer such large scholarships that even make them cheaper than local colleges. Also never disregard community college. You can always transfer after getting a feel for your major and you can save A LOT of money this way! Even spend less years in college if you find out what you want to major in faster this way.