Yup, happens to me as well.
The reason for this is the radius of the particle that is being fired. The larger the radius, the greater the impact and kill zone of a particle.
In this case, the cannonball ejecting from the cannon has a radius large enought to hit the hitbox of the loader and thus kill him. As the particle is bodypiercing, it doesn't stop there and then goes on to its intended target.
The second reason is the distance the loader stands from the cannon. For basilisks (which IMO is where it happens the most), the radius is large and the loader stands close, so the chance is fairly high. For a monster bombard, the loader stands a considerable distance away and therefore does not get hit even though the radius is large.
Then of course, the less common reason is you positioning the artillery badly, so the loaders have little room for movement or the terrain is too uneven and elevated, decreasing their mobility and thus getting them killed.
I never had the problem with mortars however, but the gunpowder artilleries (besides bombards) all have this type of problem. I should also note that all artillery, including ballistae seem to have a tiny chance to backfire, which is related to the projectile accuracy.
As each distance unit forces a drift check, and it is possible that at the first distance unit the particle fails it, it can basically go backwards and hit some of your units standing behind your artillery, which again is somewhat silly.
As for what you can do about it, you can either decrease the radius, making artillery less useful, or you could see whether you can mod the distance between loader and cannon. However the latter will make the loading animation look very awkward with the cannonball being loaded into the air.
Bookmarks