How do i prepare while in junior year of high school?
Take any classes that you can in high school!
Also, as Bryan mentioned, there are a whole bunch of resources on the web and via books. Code School (https://www.codeschool.com/) and Pluralsight (http://www.pluralsight.com/) are great resources. (Disclaimer I work for Pluralsight and we recently acquired Code School) Code Academy, Khan Academy and Code.org are also great resources to get started. Code Combat (http://codecombat.com/) is a fun introduction to programming that my sons have enjoyed.
Aside from building technical skills on your own, I would highly recommend trying to get involved with your local developer community and meet professionals in the field and other students interested in programming as a profession. CoderDojo (https://coderdojo.com/ check for a local group) is a great way to meet other students. There are Code Camps (free Saturday community driven conferences) in many areas of the US that are great to learn and network. And there are tons of developer meetups to be found at http://www.meetup.com/
What majors would I consider majoring?
IMO, Computer Science. While a CS degree usually won't teach you what it's really like to code at a company, it will give you the foundation in data structures and other theory that will help throughout your career as those underpinnings are not evolving rapidly. That being said, it is important to learn quickly as you'll likely need to learn new languages/frameworks throughout your career. Note, do research into the CS program at specific schools as they are not all created equal :)