This is like arguing for goto over structured concurrency. Async/await is a structured control flow primitive that lets you compose functions in more flexible ways. It will stay relevant as long as we still use things like functions, branching, and looping.
Indeed, async v. sync should be a matter of the application and the application only.