First, try going to class. Second study more.
Going to class was so basic that I forgot to mention it on the poll. It is definitely among the most important factors though. My GPA shot up 1.5 from 1st semester soph to a 3.57 my second semester soph simply because I rarely missed class if at all.
I think the OP should add one more option: cheating.
Why do you think I'm doing an "extra" bachelors in RT?
Respiratory therapy. It can be challenging at the BS level, because the program I'm going through requires research. It's easy because I've been an RT for several yearsNot that I haven't ever cheated. But there are serious consequences for it(getting expelled/having an honors violation on your record). At my University there are procters at most exams and they hand out different exam versions...some classes you need to show your school ID before taking an exam.
Sure you can cheat and get a higher GPA. But that will just leave you unprepared for Med school.
What's RT? Hell I might do another one if my GPA doesn't get past 3.4.
Most of us, including me, are not old enough to remember this 1970's classic. Wikipedia it if you want the story.