When I played, we usually went with "Whoever took the penalty takes the penalty shot." It probably helped that the team I was on was 10x more athletic and talented than nearly every team we played. Missing out on 1 goal in a 7-0 game asn't that big of deal. However, if it was a close game, he used the "good" player. It's the best of both worlds. Both kids get their opportunities to shine - crappy kid gets to take some p-kicks, but knows that if there is a lot on the line, he gives it up to the one that is good. The good player knows that everyone gets an opportunity, but if he's needed, to be ready.
There are two teachable lessons in this scenario:
1) Sucky kid will get a shot. Sure, he may not beas good as the other kid, as long as the parents/coach isn't letting him off with excuses - "It's ok, the ball took a bad bounce" and the like are not acceptable. A simple "Well, you tried your best, but what you could have done better is . . ." will let the kid know that he can improve.
2) Good kid won't think he's automatically entitled to every kick. Unfortunately, when I was growing up, I WAS this kid. I was always first picked, first string, etc, etc. When a situation arose, I assumed it was for me. It actually was detrimental as I got older and the talent levels reached where I was. It was difficult to adjust to not being "the man" after being "the man" for virtually my entire life. Teaching the good kid that every shot isn't his is a good thing.
However, both parents are in the wrong. Getting their undies in a wad over sports teaches their children to take it way too seriously. Have a fire to win, but put that fire into the game, not into getting in fights.