This might not work well from a technical perspective. I just wrote a short plugin that removes pets from the battle UI, however, I don't know about side effects or how your game will react on it.
Create a new plugin with any name and paste this:
/*:
* @target MZ
*/
// Override
Window_BattleStatus.prototype.maxItems = function() {
return $gameParty.battleMembers().filter(actor => !actor.isPet()).length;
}
// Override
Window_BattleStatus.prototype.actor = function(index) {
return $gameParty.battleMembers().filter(actor => !actor.isPet())[index];
}
// Override
Window_BattleStatus.prototype.selectActor = function(actor) {
const members = $gameParty.battleMembers().filter(actor => !actor.isPet());
this.select(members.indexOf(actor));
}
As I said, I don't know how the engine will function once the battle UI and the actors on the field are no longer in sync.