Here are some "tricks" I use to keep warm in the winter. I feel qualified to talk about this because our water temps get down to just above freezing during the winter.
First, if you have a site that lends itself to diving all the way to the bottom, you might want to use it. Often when surface temps are 2C (coldest I've ever seen here was -2C), the water at the bottom will always be 4C. If you can plan to dive to the "warmer" water then it's something to consider using. Obviously this will apply more to lakes and quarries than to the ocean.
Secondly, layer. What I use is a base layer, a 150grams fleece undergarment made by waterproof and a 200g "ski suit" over that. The final layer is shirt made for jumbo-brothers that I wear over everything and have modified (cut of the collar, arms and most of the length). It's sole purpose is to provide pockets over the pectorals. In these pockets I put sodium acetate pads (the ones with the click-disk) that I can activate during the dive. They run for 30 min or so and the idea is different than with a body warmer. It's not intended to warm up your torso so much as to warm up the air in your suit (or to delay cooling). It makes a big difference.
Third, I have learned to inhale through my mouth and exhale through my nose for most of the dive. Why? because when you inhale your body warms up that air and when you exhale through your nose, much of that warm air goes into the cap. This is central heating for your head! Nothing give your brain the message that it's cold more than your head and hands being cold. Use that warm air to keep your head warm.
Fourth, if you don't already, then get dry gloves. As I said, nothing gives your brain the message that it's cold more than your head and your hands being cold. Keep your hands warm to feel a LOT more comfortable.
R..