Вариант хороший, но можно создать Scoreboard (условный count), который будет считывать игроков в нужной команде, и если игроков в команде 1, то игра заканчивается
scoreboard objectives add count dummy
execute store success score sniper [название scoreboard] if entity @a[team=Sniper] - определяет количество игроков в team Sniper
execute if score sniper count matches 1 run и [нужная команда] - Выполняет команду, когда остаётся всего 1 игрок
естественно, умершие игроки должны перемещаться в команду RIP
и так же проверять количество игроков для начала игры, тот же scoreboard но поменять "sniper" на lobby
execute store success score lobby [название scoreboard] if entity @a[team=lobby]
execute if score lobby count matches 2.. run и [нужная команда]
execute if score lobby count matches ..1 run say недостаточно игроков