I don't see what's so crazy about your story, this situation is very common - smart kid, bad teachers, and horrible curriculum. IMO, you need a tutor, but not a high school or college student (who are very popular and cheap). You need a person with math degree, who will see your DS strengths and weaknesses, and will be able to create a personalized program for him. If your DS will work with a good tutor 2 or 3 times a week (once a week is definitely not enough), he probably will be able to work on his own in 2-3 weeks.
In our area math teachers are not required to have a degree in math, so I would stay away from a retired teacher (unless situation in your area differs).