In Pokemon sword I'm trying to catch the galarian legendary birds, they break out of ultra balls in one shake even with a sliver of health.
You aren't unlucky. The legendary Galarian Birds have a catch rate of 3, which means they have a chance of 1.6% getting caught at full HP through a Pokeball. Read this post to find out which Pokeball works the best. The best way is to bring a Pokemon with False Swipe to ensure they are at 1 HP, then give it status condition. Sleep and Paralysis are your best bet, Freezing is rare plus not recommended since only you can have the condition through damaging ice-types moves. Poison and Burn are very bad; they slowly take its HP away which means you have a set time to catch them, that is very risky.
Maybe you're just unlucky
Try putting them to sleep before trying to catch them. If its still not working, try using different poke balls, like timer balls.