If you aren't getting an A in that subject, that isn't going to work out for you. An A can be literally be a grade in a course, or how relatively well you think you did in some other non-trivial project.
It's not just that it's a competitive world out there. If you didn't do A work, there is a strong chance that your interests don't line up and never will. Your ambitions likely will only be realized what you have all the odds in your favor.
Look at your track record and see where you have done well in the past.
Important to remember that the answers can change as we grow up and learn new things or situations change. Just because something made you happy yesterday it doesn't mean it will make you happy if suddenly the rest of the world around you shifted. It's a constant pursuit of happiness for me and adapting to new circumstances is key.
0. You can't take enough maths and stats classes.
I'll posit this is true regardless of your major.
Beyond that, I'd offer up this:
1. Major in something that has some relatively clear path to a sustainable career, as opposed to something where it's very unclear how you would build a career, or where opportunities are few. In other words, given a choice between Computer Science, and Medieval Art History, go with Computer Science.
2. If you do major in something like Theater, or Medieval Art History or Womens Studies, consider at least doing a minor in something a little more practical like Business or something.
3. I'd put a lot of value on taking at least a few classes in the fields of Psychology, Economics and History, even if you don't major in either of those things. Study World History just to get an overview of what has gone on in the world up till today. I'll help give a better appreciation for where we are, how we got here, and - possibly - where things will go in the future.
4. If I were starting school today, I'd probably major in either Computer Science, Mathematics, or Statistics/Operations Research, or maybe Economics. And I'd take extra Maths or Stats classes as electives (see (0) above).
5. Even if you don't major in CS, learn some basic programming (not "Basic" the language mind you).
6. If you don't major in Stats, at least take Statistics 101.
7. Join clubs, fraternities, whatever kinds of organizations are out there to make connections with people. Everybody talks about how the real benefit of going to, say, Harvard or MIT, is the connections you make... but that's true pretty much no matter where you go. Build connections with people. When you finish school, participate with whatever kind of alumni association your school has and keep in touch with people.
8. Don't ignore community colleges, either to knock out certain classes for a lot less money, or as a way to pick up an extra class here and there (even after your graduate with a Bachelors or whatever).
9. Don't ignore MOOC's and online education. A lot of it doesn't count for academic credit (but there are some that do, so pay attention), but as a way to complement your education with some specific skills and what-not, there's a lot of good stuff out there.
10. There's also non-MOOC online education... things like Pluralsite, Egghead.io, LinuxAcademy.com, Lynda.com, etc. that can be useful for picking up specific skills and certifications and what-not.
11. Don't sweat it all too much. Most mistakes you make when you're young can be recovered from. You still want to have fun in college, just don't party non-stop until you flunk out, if you can help it. Yes, you can recover from mistakes (like flunking out) but what put yourself behind the 8 ball needlessly?