To chime in again, the 390 doesn't destroy the GTX 970 in DirectX 12 from most of what we've seen so far, though it does have the potential to. The thing about low level API's is that they give a lot more control to the developer in terms of memory management, compute etc... Over provisioning in DirectX 12 could cause a loss in performance, it needs to be tuned right, which is why I have a problem with someone recommending a 970 over a 390, there's absolutely no reason to go for a 970 unless you really need that efficiency.
Async is being used as a marketing term by Nvidia, they know what customer's expect when they hear 'async', they technically do async, but not parallel compute and graphics on the GPU.
I'll explain why AMD has the potential to destroy an equivalent Maxwell card. In current serial API's, there is what you could call an 'API bottleneck' where shaders are under utilised. AMD solved this by chucking more cores at the problem, whilst Maxwell has less more powerful cores than Kepler which Hyper-Q does a good job of keeping busy.
Currently, an R9 390 at ~70% utilisation keeps up with a GTX 970 at closer to 100% utilisation, what do you think is going to happen when the R9 390 is at closer to 100% utilisation? An R9 390 is de facto more future proof.
I should add that I don't have so much of a problem with the GTX 980; if it's 10% faster now than the 390X, but DirectX 12 gives a 10% performance boost to the GTX 980, whilst boosting the R9 390X by 15%, then the GTX 980 is still faster, it's the recommendation of a GTX 970 that I have a problem with. The GTX 980 would be a decent buy right now, the 390X a better buy in my opinion, but the GTX 970 literally doesn't make any sense long term.