There are some limited options for third-party remote control add-ons but Lego doesn't license or endorse them and they're not (as far as I know) made with improved accessibility in mind. However, it may be possible to modify the standard remote using pieces you have or can get.
For example, the train remote has an axle hole in the round speed controllers. If you put in a technic axle, you can attach certain technic beams to it, which would act as a handle for turning the control. You need a beam with an axle hole, such as this one
The holes in the side of the remote will accept technic pins and there are studs on the top, which would allow you to build a frame on the remote if you needed a more robust build or if you wanted to build a larger button that could activate the red stop button.
Moving the tiny directional control arrows is probably beyond what you could achieve with any Lego add-ons.
Adding structure around the remote to make it easier to manipulate will be much sturdier if you stick to using technic parts.
I threw this together:
which has a red liftarm beam for controlling the speed and a dark grey liftarm beam for the stop button. It's not perfect: the stop lever can be over-extended and flipped upwards so that it no longer engages, but it can be easily reset. The construction is pretty strong and not likely to fall apart.
If this sort of fix helps with your son's issues and you need more information about how I did it, what parts I used, etc, please don't hesitate to comment on this answer.
Some technical details:
The axle holes on the buttons line up directly with the holes in a technic beam but the built-in technic holes on the side of the remote are half a beam in from where the resulting platform lines up, hence, I had to first attach a half-beam to the remote on the side, then attach the 90-degree beams to that. I'm not much of a technic builder so there may be more elegant solutions.