I had Collies growing up and recently brought home a Doberman puppy from a breeder. From my experience owning dogs the best thing is to give the dogs lots of exercise. If a dog is too tired to be jumping on people and around the house he won't.
My cousin had a Border Collie that had lots of energy, like a kid with ADHD x 10! Like you he struggled with training, when he added more exercise into his daily routine it worked wonders. Tiring the dog down with long walks/ runs at parks really does wonders to correct behavior problems. I also did this with my two Collies growing up and it worked great to complement his daily obediance. I would give my Collies walks/runs in the morning & night. Had a fenced in yard for him to run around in. Took him to doggie parks to play.