Generally speaking, all pokemon share one clearly defined purpose: to defeat the opposing team. This is achieved directly through damaging moves and indirectly through non-damaging moves. Roles are identified according to the moves a pokemon has in order to establish a strategy. The point of using a strategy is to win. At the end of the day, it doesn't matter how you won, it just matters that you won. So I do not think Gothitelle should be locked into a certain role unless it can be proved that the role is better than every other role. I believe that Goth can function in other roles and perform just as well or better.
Goth's current role is a mix between a Trapper and a Supporter. It traps with its ability and supports by debuffing the enemy. Without a damaging move, Goth is limited only to these roles. However, Goth can be a better team contributor if it was given a damage dealing move. Firstly, pure damage is more reliable than supporting with debuffs. In order to debuff, Goth needs to have the stats to absorb multiple hits. Over many turns, it also needs to be able to endure the inevitable critical hit. On the other hand, a successful attack always results in meaningful damage. Even if Goth only got a single attack in, a single attack is better than a single debuff. Secondly, debuffs are undone simply by switching out whereas damage stays unless the pokemon uses a move to heal. Thirdly, Goth can use its ability to trap weakened mons or type vulnerable mons and defeat them with attacks. Goth has a respectable 95 base Sp.A along with Psychic-STAB and decent coverage options in Shadow Ball, Thunderbolt, and Energy Ball. Overall, damage is more valuable than just debuffs. Gothitelle would benefit from taking on more roles by having damage moves in its movepool.
Causing the foe to use Struggle by depleting their PP is a competitively viable way to deal damage to and KO a trapped foe and is, in fact, the most consistent way Gothitelle can KO foes given its stats, typing, and level. This is the set it runs in Ubers in Gen 7, for this same reason. Such a method allows Gothitelle to trap and KO not only Psychic-weak Pokemon, but also almost any Pokemon lacking setup or intense wallbreaking ability.
Goth runs this set in Ubers because Ubers has dedicated Walls, Clerics, and Supporters. Since those roles are much rarer in Randbats, Goth should not be limited to just that set.
Sets in random battles are generated based on a pool of moves to pull from and goth only has those 4 moves in its pool making it the only set. If we were to add more moves it would mess up the role it's supposed to fill so we keep it with only 4 moves.
This is why I'm suggesting that Goth should have more roles. For instance, if Taunt or Rest was replaced with Psychic, Goth would be able to defeat weakened mons or Psychic-weak mons. Or if one move was replaced with Toxic, then Goth would be able to trap Clerics or Walls. Another option could be to replace Confide with Calm Mind. This lets Goth survive weak Special Attackers, set up on them, and be a sweeper option.
I'm quite aware of how the move set generator works.
I was suggesting to give certain mons 2 pools of moves. Not two unique sets.
So have Charm, Confide, Taunt, Rest as one pool and Attacks, Calm Mind as another pool and choose a pool randomly, then choose a set? That would make the stall set more tolerable for me if I saw it less often.