So the problem is that there won't be any schools where you are a good fit (at the moment where your app stands right now). Your research, while valued at top schools, will keep you away from those schools because of your MCAT score. But tbh your MCAT is low for all MD schools that are willing to consider you, unless you live in a lucky state. But if you do live in a lucky state, the schools that are willing to accept your MCAT probably don't care about your research experience too much but want to see clinical volunteering So pretty much every MD school has a good reason for not wanting to accept you right now.
I suggest clinical volunteering + non-clinical volunteering + MCAT re-take during your gap years
Luckily, your GPA is fine so you can handle those three things I just mentioned just fine because you don't need to do any GPA repair. EXCEPTION: If you did very poorly in a pre-req, re-take it since this will serve a dual purpose with raising your sGPA a little bit (not that it's low, but it could be better) and help with your MCAT, since you'll probably do poor on that part of the MCAT if you did poorly in the class.
Also, don't just be a "volunteer". Climb up and make a difference. Take on a leadership position. Do SOMETHING other than just raking up hours.
@gyngyn gives the best personal advice, in my opinion