I first want to clarify that I am not against co-sleeping as I do understand that for some people its the right choice.
Unfortunately, this is one of the issues with co-sleeping. Babies becine so dependent on having someone to cuddle with that they can't sleep without that. My son has never spent the entire night in our bed. There have been nights when part of it has been in our bed (ex: when he's got a cold and needs his head elevated).
My suggestion would be getting you son to sleep in his own bed (there are ones that attach to the side of your bed, but I don't know what their weight capacity is). When we decided it was time to train our son to go to sleep on his own, rather than being held until he's asleep, here's what we did:
We sleep trained our son at 5 months. I wanted to hold of on the Ferber method though and try other things first. The first, and most important, thing is to pick up on your baby's cues. That first eye-rub or yawn...before they get cranky...is your cue that they are ready to sleep. For my son (6 1/2 months), this "cue" occurs somewhere between 7 and 7:30.
At that cue, Cody gets his bath (if he's getting one that night), dry diaper, changed into his pjs, brush his gums, bottle and into the crib. We give him his binky (which stays in the crib), his blanky, turn on the mobile and tell him "its sleepy time" (and of course, "I love you"). Within 5-10 mins, he's sound asleep. We also do this with naps throughout the day. As soon as we see that cue, its diaper change and in the crib (sometimes bottle, depending on when he last ate).
When we decided it was time to work on getting Cody to go to sleep on his own, we did our normal routine, except we started putting him in the crib awake (before that we would hold him until we knew he was really completely out).
The first couple nights consisted of a lot of soothing (talking to him, patting his back, re-offering the binky). A few nights later, we stopped soothing before he was completely asleep. After a few nights of that, we stopped it early still. Gradually, after 2-3 nights of success at each stage, we spent less and less time soothing him.
During this process, we did allow him to fuss, and as L. as he would stop while we soothed him, we let him go. We started with 2 mins, then 5 mins, then 7 mins, then 10 mins between soothings. 10 mins was the longest we let him fuss. If he ever got into an all out cry, we'd scoop him up, calm him down and reassure him that we loved him and were nearby. As soon as the crying stopped, he was back into the crib and the soothing started over.
Yes, this is time consuming and no, it doesn't usually work overnight and it does take a commitment and consistency (it won't work if you do this one night but the next night dad rocks the baby to sleep).
It is SO worth it! My son sleeps so much more soundly throughout the night, he sleeps for longer periods of time throughout the night, and he is well-rested and happy from the moment he wakes up.
My son goes to bed between 7:30 and 8:15. Even when we are out to dinner, visiting friends, shopping, traveling, etc. he sticks to this routine. We travel a lot and it makes it easier because we take his blanky and his glowing seahorse and can put him to sleep anywhere the same as we do at home. (he spent the night at my parents' house 2 weeks ago, and followed his normal routine for them).
Our "rule" is that if Cody wakes before 5:30 he doesn't get a bottle. If he's not crying, we ignore him (he will sometimes wakes, play or talk in his crib and go back to sleep). If he is crying, we attempt our soothing for 30 mins. If he doesn't go back to sleep after 30 mins, we give him a bottle (hey, there are times I want a snack in the middle of the night, he's no different because he's a baby).
Most days Cody wakes between 6 and 7, drinks a bottle and goes back to sleep until 9 or 10. He gets up, gets dressed has another bottle. An hour later he gets "brunch", then generally goes down for a 60-90 min nap. He gets up from his nap, plays, has a bottle and goes down for another nap (approx 2 hours after waking from the first). That nap is 2 1/2 - 3 1/2 hrs. He wakes up from that, has a bottle and plays for about 2 hours. If he doesn't nap great during the day (we're running errands or something like that) he will take another 30-60 min nap in the early evening. He eats dinner around 6:30/7:00 and then we just play until he "tell" us that he's ready for bed.