Wouldn't most of these pains go away if you simply could include style tags (not attributes) in the body? I've always wondered why it's possible to include script tags pretty much everywhere but not style tags.
Browsers are actually okay with <style> tags in the <body> and apply the rules inside. Although MDN says they must be placed in the <head> [1]. Email clients seem to be a lot more restrictive, apparently. Or lazy.
[1](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/st...)