Learn the basics
I've covered promises before, but I'm going to emphasize them again. Learn promises. Here's a cool blog post on promises. Learn how to chain your promises. Promises are used throughout the ArcGIS JS API. You may not need to use dojo/promise/all, or have nested callbacks, you may just need to chain your promises. Heck, don't even use callbacks, just use then and otherwise.
Resources to up your game
The spec is final, it's done, it's coming. I expect we'll see more features roll out in browsers over the next couple of years. Things like import may take a while, but the future is now, stop fooling around.
This kind of ties right into Functional Programming. Reactive Programming is dealing with streams or asynchronous data over time. The link provided is a great resource. There are libraries like RxJS and Bacon to help you out here.
For more geodev tips and tricks, check out my blog.