I second all the opinions about finding a dog who has been in a foster home. They are actively being trained and someone is living with the dog to know its personality. I have seen some dogs who are absolutely disastrous in shelter situations (read: CRAZY) but when they get home, they are mellow, obedient and sweet. Or the opposite - sweet as pie at the shelter (read: freaked out!) but you get them home and they eat your couch.
I also firmly believe in adopting older dogs. Baggage can be overcome. All dogs are trainable. Have boundaries and rules in place that you and your husband agree upon before bringing your new dog home. My first dog was a 3 year old train wreck former research dog who was afraid of the sun when I first got him. He would literally cower outside if a cloud went across it and it took 5 or more minutes to relax him before we could move on. Before he died from complications of immune-mediated disease, he was pretty "normal" by doggy standards. And because of all the trials and triumph we went through, he was truly my heart-dog. Older dogs are mature enough to listen and learn quickly - no puppy ADD stage. And many are ready to just relax and cuddle and aren't looking to you for entertainment 24/7. A puppy between 6-10 months is still downright obnoxious, IMHO (I know, I have one, and he's exceptionally good).
So to sum up: Find one in foster care. Go older.
Good luck!
Edit to say: Socialization occurs at all ages too. I found it was much easier to train my older dog to leave the cats alone than my puppy who think everything.is.just.so.exciting.can't.concentrate.on.training.around.kitties.