It looks like the biggest uncertainties will be resolved this Friday, July 21st. With far above 80% support for SegWit2x, August 1st should not matter anymore (as BIP 148 will not trigger).
That would mean between now and Thursday should be the best time to buy.
On the other hand, August 1st is passed around everywhere as the "day of doom." Many uninformed people out there. So maybe wait till July 31st to buy? And will there be any risks left after Segwit is activated later this week?
The key question is: How much FUD will be left in the market after Friday...?
You were right, as since July 21st bitcoin price has started to recover. But BIP91 has been locked-in, and August 1st won't be the doom day obviously.
I am sure there are some people who wants to spread fud news about chain split in order to get cheaper coins, but we don't know how the market react to those news because bitcoin price has stayed over $2700 for days. If you want to buy, wait for all this bad news are over, because we might have one more dip before segwit be activated.