He will spend about 40 minutes a day on the bus, going back and forth, just to learn math with middle schoolers for an hour.
My vote would be for him to take an online class, if the district will let him. He is very young to handle the physical part of the travel you've described. I don't know what "7th grade math" is exactly, but it is starting to sound like pre-algebra. You might consider AOPS pre-algebra. It would mean after-schooling (classes are at night) but I would imagine that he would enjoy the more challenging problems available at AOPS. There are however many online options for math, and some may suit his learning pace better than others.
You might consider having him "slow his math progression" by taking Counting and Probability, and Number Theory next year from AOPS rather than taking 7th grade math. They are not part of the normal progression at school, but an interesting and valuable addition to a math education. (and also helpful for those math contests....) If you haven't read "The Calculus Trap" on the AOPS website, take a look and see what you think.