Consider doing two or three extra semesters/quarters and try to get that GPA up just a little. Even at 2.9/3.0, you might get into Duke or Cornell. I know someone who had 2.9/171 and got into Duke last year. And I wouldn't put any school below T14 off the list. But even they might give you a look. Do an extra year and get up over 3.0 and every school, except for maybe HYS, will at least consider you. And you're a science major, which means schools will accept a lower GPA b/c of the strength of the program.
I expect some dissent on this, but I am right. It's far from a guarantee, but you'll get a shot at a T14 school if you just come up to 3.0. Then the key for you is to cast a very wide net once the GPA is up...say...25 schools ranging from T14 to top-50, if you can manage it.
I am willing to bet you get into several top schools, and maybe get waitlisted by (or get into) a T14. With an LSAT score like that, I would wait and bring my grades up. Why waste it when u can write your own ticket, or at least pave an easier road to what you want?