Standard warning that I give.
You should apply when your application is most optimal. Taking the MCAT before making sure you show you have the academic foundation to succeed in medical school could backfire: you could get a subpar score and have to fight the battle of getting a higher score, with schools screening averages, etc. Plan to take the MCAT once and only once.
Second, if you do decide to go for a postbac or SMP program, some of them will have included MCAT prep if you haven't taken the exam. This may not be a problem if your MCAT was excellent, but you will be paying for someone else's MCAT prep if it's included in your postbac/SMP tuition.
Third, it shows a relative immaturity about how you are approaching your application. I'm sure most adcoms won't care; it's your money to spend, and many people make mistakes before. But rushing a subpar application without knowing the rest of your application is excellent sets you up for a rather fraught cycle.