I don’t see how the lack of diversity is any different than in great league. There all you saw was registeel, deoxys defense, azumaril, altaria,skarmory and here and there venosaour, mudboy(s), tropius. These made up 95% of mons you encountered in the higher ranks. Altaria is budget, venosaur too. Skarmory is also here, since one didn’t need a charge move on it. Whiscash from the mudboys as well, while swampert was slightly behind here. However, most of the time these were quite easily defeated when facing a line up from the pvp fanatics.
A lot of the best great league options were high investments regarding stardust and are useless outside of this novelty concept In ultra league it’s the same actually, but I would say that the budget options are actually on par many times. Swampert destroys many things or does heavy damage in return even if it loses a match up, as long as one keeps it away from grass. Being a starter it’s also very cheap regarding powering it up. Giving a good IV or lucky munchlax a second move and then evolving it, also lowers the costs significantly. TMs for the right charge moves can be a problem though. These are two great options for being actually competitive, unlike with great league, where budget most of the time meant budget, since the true budget options most of the time remained toothless if facing a deoxys, registeel and azumaril line up. Sure, taking one of them down isn’t that hard, but all three at once? good luck with just budget options.
I myself added a 100% alolan muk to the team, to which I unlocked a second charge move, since I plan to max it eventually for raids and gyms, so I said why not use it here for now. All three of these present a hard wall to giratina’s altered forme and are way more reliable to use than togekiss, which still needs to shield giratina’s ancient power and due to charm’s abysmal energy gain can be quite easily walled by something else. Giratina is not much different, sure it defeats most things, but it struggles with some and most of its best counters are way cheaper as well. Also swampert and snorlax can be also used in master league later, where they still perform more or less the same.
This being said, I never thought I’d defend pvp in some way haha. I did try a few ultra league battles and they did feel way less stale than great league. Taking care of both giratina and togekiss was quite easy actually. . I myself don’t stress about pvp any more, after I got scraggy. I won’t spend premium raid passes on it and the free rewards one gets for winning are borderline participation awards, since most of the time one finds better things just by walking for 20 minutes in a city and payig attention to the tasks than what one realistically gets out of doing several rounds of the free battles. Getting the best streaks there is also not that easy, since it depends on luck and glitches can also ruin things.
Now master league… that will be a pain. I really don’t feel like throwing hundreds of thousands of stardust away for charge moves that have no raid utility. I already have a maxed giratina and dialga, but there’s no way I’m unlocking charge moves on those. I also have a maxed togekiss with two moves, but those charge move in pvp are just… no. The 98% snorlax I use in ultra will be maxed eventually, so there’s that at least.