I'll take a stab at the private sale problem and everyone can poke holes in it and point out where I'm misinformed. I think the solution is to require a background check for private sales by having any sale go through an FFL. This won't stop anyone from obtaining a gun illegally, just like any law won't stop someone from breaking the law. But it does allow a private citizen to obtain a background check on a purchaser and I'd think most would gladly follow the law, if only for the comfort of knowing their gun wasn't bought for criminal use. Just like with new gun purchases, you wouldn't stop the flow of illegal gun sales, but you would reduce them and make it harder for the wrong person to obtain a gun.
The way I understand it to be now, any new gun sales must go through an FFL and receive a background check. In addition, at least here in VA, I believe the FFLs are required to keep a record of the sale for 2 years. By having any private sales go through an FFL, the buyer, seller, and FFL would all have records of the sale. This seems like it would provide a system where you could trace an illegally used gun without having a national (or state) database. There isn't any reason why you couldn't push the record keeping requirement for all parties to 10 years. I think the number of background checks last year was around 17 million, which would include some private sales. Even if you push that to 30 million to account for the additional sales, that's only about 500 per FFL.
So, while you will never eliminate all instances of criminals acquiring guns, you would at least likely make it harder and more expensive to obtain them illegally. With national registration, you won't get the criminals and many of the non-criminals to comply. With this type of law, you would at least get the majority of non-criminals to comply.