I don't think there's an easy answer. This has been asked before.
Some programs will reject you because of your fail / barely passing Step 1 regardless of your step 2. For programs like this, the outcome is the same whether you apply early or late.
Some programs will filter applications until both Step 1 and Step 2 scores are available. IN that case, it also doesn't matter what you do. Your application won't be reviewed until you have a Step 2 score, and so whether you apply now or later is the same.
Some programs may review applications as they come in. They would look at your app including your STep 1, and your pending Step 2 score. [Note: it's not clear that programs will know you have a pending score. This year you don't get to self report your Step exam schedule dates, they come automatically from your USMLE transcript. Not clear whether that includes upcoming scores]. Plus, they would review the rest of your application. Then, they could A) reject you, B) interview you, or C) wait for your Step 2.
In options B and C, there's again no difference applying before or after Step 2.
So, the only option where this matters at all are programs that review applications on a rolling basis, review IMG apps with only a step 1 score, will reject you because of that score, and would consider interviewing you if you get a much better Step 2 score. No one can tell you how many programs like this there are.
So, in the end, you'll just need to choose what to do. Or, you can split the difference and apply to half of your programs early, and half after Step 2. If you do that, randomize and see if SDN will publish your results!