You might want to look into private school or advanced placement classes, or something along those lines. I'm sure this sounds presumptuous, and I'm sorry for that in advance, but it sounds like his current school situation isn't challenging him enough.
I tend to agree with #1 on this one. I've known a lot of genius kids in my life. Most of them got horrible grades despite being smarter than anyone around them. A gifted program may be helpful in challenging your child and motivating them to do better.