I can absolutely guarantee three things that will fix your carbonation problems once and for all:
1) The extra time you allocate for secondary conditioning? Yeah -- Just leave it in the primary the whole time instead. My experience proves that you can leave a batch in primary for up to 3 months with no ill effects. Ignore the rubbish about "yeast autolysis" -- it rarely if ever happens with homebrewing. Leaving your beer in the primary gives the benefit of letting the yeast do what they want to do, rather than you swiping the carpet out from under them, so to speak.
2) Use regular table sugar for ALL carbonation purposes. You need 2/3 cup for 5 gallons. Don't worry about weighing the sugar -- I don't care how much it weighs -- if you use 2/3 cup table sugar for 5 gallons, carbonation will be perfect every time. DME is far too unpredictable. Same goes for honey, maple syrup, you name it. And corn sugar is just a waste of money. Table sugar will get the job done, cheap, easy, and reliable.
3) Don't rush it. Give the yeast plenty of time to do their job. Sometimes a batch will ferment entirely within 2 or 3 days. Sometimes it takes 2 months. Just leave them be until fermentation is obviously done. Check gravity when you think it's finished, then wait 3 days or more, then check again, just to be certain. If you bottle too early, it's gusher city.
I speak the truth. I've been brewing for 11 years and had to learn all these things the hard way. Take heed.