Start writing as much ES6 as you can, because in the future ES6 will stop all of the squabbling over module loaders. I have written AMDs for years, but TBH it's a pain to understand. Every .js file is a "module" that can import things it needs, and exports things for others to use. You can export a few functions, an object, or value. There is the concept of a "default" export that you mark one export as the default if no one asks for one particular one. It is good practice to have a default.
Don't ask me why, but this hideous page is the best reference on ES6 modules.
At my current job, we are writing js for node, and js in the browser for angular 1.X. Why would I want to have to deal with different syntax and module systems for devs, who are frequently asked to bounce between projects? We now write pure ES6 all over, transpiling to AMD for the browser (loaded with alameda), and CJS for the server seamlessly with TypeScript. There are other ways to do this, like Tracuer and Babel, but I can't see why anyone wouldn't want TypeScript who is adding new ES6 and ES7 features all the time like await/async and Abstract classes. Microsoft is really doing a great job releasing new features and rolling in customer feedback.
Now since you have written your client side code in ES6 / TS and transpile to AMD, you will still need the r.js optimizer in order to bundle, minify, and package your AMDs. There is an initial hit to understanding the r.js config stuff, but start small, and it is an incredibly powerful and thorough tool for optimizing client side js and css. AMD is a time tested pattern and TS writes beautiful, human readable AMDs. Internally, we have shared libraries and integrate third party libraries like Lodash-amd with ease.
After 6 months of writing nothing but TS, I convert every last piece of js I see on sight to TS. I can't imagine not having the safe, comfortable feeling of seeing the compiler go green before I check in. It catches any mistakes, and allows me to manage more code and do complex refactoring safely. After code solidifies, I go back and pepper in any types I can, and each one tightens the quality and saves me grief down the line.
Someday, we will compile to ES6 modules for the browser and server, and change our build pipeline, but the source code remains the same, teaching us the future today.