After some poking, I'm not so sure it is necessarly better to have shells explode on their target position. As turrets will always target the closed ennemy, which will often die very quickly to concentrated fire the shell is kinda wasted if it explode directly on already dead or mostly dead ennemies when it could continue on its direction, pierce some weaker enemies before finally exploding potentially in the rest of the coming group (or effectively otherwise at its maximum range).
The feeling of "missing" damage from not exploding earlier might be a false impression in situation where the cannon are overkilling the ennemies anyway or they are not numerous enought. In a grouped scenario most shells should encounter ennemies.
I guess in a way it kinda balances the cannon turret as it is very powerfull, but not adapted in all situations. It's expensive and it really shines in crowded shokepoints ! This leaves room for other turrets to have a role in the defense perimeter and makes the player think strategically where to position expensive cannon turrets to make then a good investement and be an effective defense addition.
Another solution could be the increase the shells hitbox so they would have more chance to collide.