- Have a simple and clean template that removes all client default styles
- Inline styles in my experience are still the most consistent
- Have a library of modules that have been thoroughly tested and you know work
- At least twice a year, clean your template and remove any redundant styles that fix client issues that have since been patched
I would say that email development really hasn't changed that much in the past decade. I've seen some great prototypes when it comes to interactivity, using embedded styles instead of inline styles, animations, etc. but when it comes to production emails, they're all still very static with a one or two column layout, images, text, and buttons.
The way I develop emails is by having a solid layout template that removes client default styles, building from an Outlook-Desktop-first methodology with inline styles and then using embedded styles for mobile-specific styles.
I also have a bunch of templates for common modules such as buttons, tables, images, headers, footers, etc. for all my clients. That way if I need a button, I can copy-paste the code from my template library, change a few values, and be 99% confident that it will work (there's the off chance that it won't work due to surrounding context or a recent update).
I agree with Digital Marketing that emails these days can get very complex. I once had a client who gave me one of their email templates and said "This is what we currently use. Use this to create any future emails" but upon looking at the template, it was already over 800 lines of code and there wasn't even any content. So we had a talk with them, I rebuilt their template from scratch and got it down to about 250 lines.
They had a lot of redundant code that had built up over the years and no one had gone through and removed styles that no longer did anything due to email client updates.
To sum it all up, here's what I think is the best system: