I coached travel ball when my son was younger and then he transitioned to a paid coach team from 10u on. The positions that you are describing usually go to the slower or heavier kids, I am not sure if that is the case for your son so do not take offense if I am guessing wrong. Unless his bat is epic, he will probably not get to play a defensive position due to base running. If he is heavy, lose some weight, if he is slow, you can train to get faster but it is hard to make a slow kid fast (at least in my case).
My advice no matter if the above is true or not is to hit as much as possible, every day if you can. My son was catcher and because he was a slow runner he could be replaced on first by the best base runner on the bench, so if he could reliably get there he was a huge asset to the team. We worked so hard on his batting that the coaches could not ignore him as he usually had the highest average on the team.
I installed an indoor batting cage, bought a pitching machine, bought a shitload of the same balls used in the games (diamond were my favorites). Between 5 and 7 days a week when I would get home from work he would hit between 100 and 200 balls between tee work, soft toss, pitching machine and me pitching to him. This was in addition to paid instruction and team batting practice.
We added hula hoops in the cage as targets and he was instructed which one to hit each ball into. Eventually the coach could tell where hit the ball and he would get it there most of the time. He was never a power hitter because of his smaller size but he was always 3rd or 4th hitter and almost never came off the field, either playing catcher or 3rd.
Also, if he loves the game, do not give up. There are a lot of stories of pro players that worked through disappointing seasons in high school and the transition to college.