You already answered your question, you will need to perform a lot better in upper division science classes, preferably IN-CLASS courses, not online. Money is ALWAYS an issue, so it comes down to how much you want to become a physician. Schools want to see success in challenging coursework, and at the very least an upward trend in your grades, and if possible a GPA above 3.0. You of course will need to have a very high MCAT score, at least greater than 33, however even with a high MCAT score, it will be a very tough battle for you. Reasons for the above being:
1) There tends to be a bias at some schools against online classes.and even community college classes. Whether or not this is true, this may be complicated by your low GPA. I have never taken a real online class so cannot say, but I do know for a fact that my school, UC Davis does not accept any online coursework. It may be possible that many other schools are like this, mainly because the vast majority of applicants take classes the traditional way.
2) Med schools are forgiving, and thus upward trends are looked at in a positive light. Univ. of Washington actually weights your latter years in college, however with nearly 90 units of coursework with a GPA of 2.29, that may not help you. Additionally, some schools may screen GPA, and the cut-off is around a 3.0 to a 3.2. So you may be knocked out of the application game right off the bat.
As stated, your undergrad GPA should be your focus. It is a blaring red flag to the adcoms, and honestly any other attribute that you slap onto your application may not help. Any amount of extracurriculars can never make up for a low GPA/MCAT.
Look at it this way, my undergrad GPA was a 2.65, MCAT was 36, and at the time of graduating, I had around 20 publications, and countless hours of volunteering in hospitals and in the community. BUT, that GPA stood out like a sore thumb. That won't cut it at our med school (California), and thus I did post-bacc and now doing a PhD to get my undergrad GPA up to a 3.0 (taking undergrad classes as a PhD student). For med schools outside of CA, it may be a tad easier, but no cake walk for me either.
An unofficial post-bacc or a less competative official post-bacc program may be your only savior. SMPs and well-known post-bacc programs are inherently competative. These usually have a pretty high GPA criteria (2.7-3.3)..with SMPs having a higher admission criteria. They also have the right to pick people they deem suitable (e.g., high stats) to succeed (e.g., get into med school) so they can boost their prestiege. Graduate school may not be helpful, since as you stated you need to boost your undergrad GPA, and on top of that, most grad programs have a 3.0 GPA requirement, not to mention research experience. So yea, no offense, but you already know what you have to do, why ask when you can do what you already stated?