For full disclosure, I'm not exactly an expert on phd admission so take everything I'm going to say with a grain of salt. I know some people in top finance/econ phd programs in the US though, so I have a rough idea about the calibre of students that gets admitted there.
I think you should probably first clarify in what you're more interested, strategy or finance. Those are obviously very different fields. If you look at admission profiles of phd students at top finance schools you'll see that most of them majored in a quantitative subject (not necessarily finance but rather engineering, physics, maths, etc.). Finance is becoming more and more quantitative (especially in academics) so the universities want to make sure that you can handle hard core math. From your major it appears to me that you'd probably fulfill this criterion. Strategy is less quantitative and I could imagine that there are a lot of business majors in these programs.
For your GMAT score, I think it's too low for admission to top finance phd programs in the US (I don't know how difficult it is to gain admission to top strategy programs), particularly the quant score. Just have a look at the average quant scores for the mfin programs of princeton and MIT. If I remember correctly they are both higher than 49. Bear in mind that admission to top phd programs is more fierce and scores correspondingly higher. Off the top of my head I'd say that admission rate for the finance phd program at stanford (which you mentioned in your post) is approx. 2%.
Also, a lot of programs only accept GRE scores so I'd actually advise you to take this test instead of GMAT. You should aim to score 800 on the quant section.
I think that your ECs are weak is not decisive, after all its academia not business school.
In conclusion, if you're set on the top programs I'd first take GRE and then take it from there. Otherwise you might also want to apply to a lower ranked programs. From what you've written I think you have a good profile for a finance phd (good grades, quantitative major, programming skills) but it's not (as of yet) good enough for a top program.