A good trot to canter transitions should go "up in two and down in three" and a good canter to trot transition should go "up in three down in two". If your horse is dwelling in his transitions, he's not balanced meaning you will also lose your balance if you don't know how to ask for the correct transition, shortening your stirrups won't help this. In transitions, half-halts are your friends. They are preparatory and balancing cue, not a slowing down cue. They tell your horse, "hey we are about to do something, so get ready". It sounds like the issue is your horse isn't ready to stand out to your hand.
You can try this:
Start at the walk and "comb" the reins. At walk, ask your horse for an inside bend, when you feel him relax and slow down, let the reins slip through your fingers. Pick your reins back up and repeat, repeat, repeat. Once you get this down at the walk, do it at the trot. This will teach your horse to stand out to your hand and it will be a lot easier for him to perform upward and downward transitions. Once your horse stands out to your hand you can ride your transitions (upward and downward) leg to hand.
To work trot to canter, make sure your horse is relaxed and standing out to your hand. Sit your trot, use a half-halt to balance and prepare your horse and make sure he is out to your hand and ask your horse to canter by rolling onto your outside seatbone and use your outside leg. If your horse does not go right into a canter, halt, back up 2-3 steps and try again.