Predoc is totally correct about getting your profs familiar with you via office hours. I don't know about your school, but at UC Berkeley, some of the upper division courses have less people. I was a neurobiology major and while most of the courses were 200-300 students, some of the follow-up courses were only 15 students. That's where I got most of my letters from these profs. Don't forget to get some non-science letters because some schools require those. I got about 9 letters total, including 4 letters from graduate school. I have one from a premed science prof (Physics lab prof who knew me very well) as well as an Asian American Studies prof (who also knew me very well) in addition to 2 neurobiology profs and 1 immuno prof. I'm not sure if this happened on purpose, but I got letters only from profs who gave me an "A" in their course...I'm sure that isn't a significant point. Oh, with every letter of application request, I enclosed a short (no more than 2 page typed) essay about me and my goals/personal info, a "sample" letter (unsigned so that the prof can sign it and use that as their letter if they're too busy to write one) and of course, a prestamped envelope! I guess it's assumed that associate professors have less pull than full professors. If your school has a letter service, then you can have your profs send all your letters to the service.
A 3.4 isn't bad, and with the science courses ahead of you, you should be able to pull your science GPA up and up. If you can get a 3.5 Science GPA then you're looking pretty good. Add a 30-34 MCAT to that and you should be looking very competitive.
Free medical clinics are a great way of getting medical experience. Just make sure you stick with it. It looks good when you maintain an obligation for an extended period of time (like one year).
\