The best way to get shinies in ultra sun is S.O.S chaining
S.O.S chaining may be hard at first, but if you get the hang of it, you can get shinys on the first day of your hunt. To S.O.S chain, you have to have a false swipe user (not required but necessary). Start with false swipe to weaken the foe to 1 HP, and then use an adrenaline orb to get them to call for help. Kill the Pokémon that is called for a little while and switch the callers (use false swipe on the Pokémon called and kill the old caller) keep repeating the process until you find a shiny. Between a chain of 70 and 255, you have an increased shiny chance (1/1024 without shiny charm and 1/683 with it). Stock up on roto pp restores, full heals, full restores, and have overleveled Pokémon so other Pokémon don’t damage you as much. Different Pokémon have different call rates which determine how often they call for help. Most have a call rate of 9 and Pokémon with a call rate of 9 or more are the best ones to hunt. The list of call rates is https://m.bulbapedia.bulbagarden.net/wiki/List_of_Pokémon_by_call_rate
The shiny charm definently helps with this and makes it quicker. The next bets method is the Masuda method, where you breed two Pokémon from two different countries. Foreign dittos are valuable because of the Masuda method. The chances are 1/1365 without charm and 1/455 with shiny charm
I have gotten shiny zorua, bagon, rufflet, golbat, rockruff,larvitar, and trapinch using S.O.S chaining. They were all obtained rather quickly (most on day 2 of hunting but I didn’t stay up all day like a crazy person but larvitar and rockruff were after about an hour, all with shiny charm)