The standard 1-15 eight ball rules allow for a defensive play strategy of knocking an opponent's special ball away from the pocket.
Remember that the rules of 8 ball apply to the 1-15 8 ball game. 8 ball rules state that the cue ball must first contact a ball from the shooting player's group of balls. That would make it illegal to directly strike the opponent's special ball with the cue ball. What you mentioned could only be done if the shooting player causes the cue ball to strike one of their object balls first, making it ricochet into the opponent's special ball. If the player contacts an opponent's ball first, it is a "wrong ball first" foul, giving the opponent cue-ball-in-hand anywhere on the table.
From the World Pool-Billiard Association rules:
6.2 Wrong Ball First
In those games which require the first object ball struck to be a particular ball or one of a group of balls, it is a foul for the cue ball to first contact any other ball.
However, a common variation of 1-15 8 ball is to disallow touching the opponent's special ball in any way. The variation makes it illegal to ever strike or move the opponent's special ball. I think this variation would solve the problem you mentioned, though it's not official.
1-15 Rules for the "Special" 1 and 15 Balls
In one and fifteen 8-ball pool, the 1-ball and 15-ball have special meanings and special rules associated with them.
Variation: Some rule variations go as far as to disallow even contacting the opponent's special ball e.g. If the shooter causes the opponents key-object ball to move, it is a loss of turn. If you are playing ball-in-hand rules, it is also ball-in-hand for the incoming player.
I think the problem you mentioned decreases as the player's skill increases. More skilled players have an increased ability to make the required side-pocket shot regardless of where the ball lies.
Personally, I believe that allowing players to knock an opponent's special ball away from the pocket opening simply makes the game more challenging.