Val: I have an 8 year old boy who has had one grade skip, although it looks more like 1.5 to 2 since he was a young summer birthday in a school district that holds kids back. He is in 4th grade, much like your son. We did get a subject acceleration in science this year, which has helped immensely. So I think of 4th grade as his base camp where he can stay with kids who are age appropriate (or +2 years) for most of the day. He then goes up to 7th grade in science for some intellectual stimulation.
This has been a wonderful compromise for my DS8. He is still bored academically in 4th grade. He struggles to read books that are way below his ability due to lack of interest. However he currently packs The Hobbit in his backpack every day and reads it in class when he finishes assignments early. But to him, this year is going well because he has finally found a good group of social buddies to hang out with. He can find ways of stimulating his love of learning outside of the school... but since he is an only child, having those buddies at school is really important to him.
It is a hard call to know when to leave the child in their current situation, even if they are bored, or when to accelerate them further. I guess I would listen to the child. They will let you know if they need a change. The flip side of that is this: DS said, post science acceleration, that he couldn't believe how awful 4th grade science was compared to 7th grade science. He is like a kid on Christmas morning with the new science challenges... complete and utter joy! (and getting an A in the class!) He would never have known that such happiness could exist if he had not been accelerated.