What's his history/your level of experience? Ruling out any physical problems, this usually boils down to either him not knowing what you're asking, or you not asking correctly.
Is he bad with just picking up the one lead or both? If he's bad with both then I would go right back to basics, getting him balanced and bending correctly at the walk/trot before moving up to the canter.
If it's just one bad lead, again ruling out any physical problems, same deal, go back to walk/trot and get him balanced and bending - it's all too easy to avoid the bad side so I will emphasize it a little more (without completely ignoring the good rein, generally you want to work both sides equally). If they feel balanced they are more inclined to pick up the correct lead.
Another thing to look at is your riding - do you favour one side more than the other? Do you tend to lean to the inside? I'm very bad for that so I try to stay on my outside seatbone when asking for an inside bend.
Don't drop the outside rein. The instructor in me sees that and wants to take your reins away - 90% of getting the correct lead comes from your legs and seat. You want to maintain contact with the outside rein and lift the inside rein a bit to facilitate the correct bend - throwing away the outside rein and holding him to the inside will just enable him to pop his shoulder out, as you now know. Circles are useful in picking up the right lead but only if you're bending correctly. Asking for the canter in a corner is a good starting point when you're both ready. Lateral work like leg yielding at the trot is a great idea as he needs to be balanced and supple, and you need to be using your legs and seat effectively to accomplish a leg yield. Don't rush to get him showing, this may take some time.