This can be a complex topic! Personally, I like to first check my covariate sizes and relationships. Things with less than 5 per group are going to make for statistical testing hell: a lot of the common tests (i.e. kruskal-wallis) can't tolerate that small of a group size. I tend to go a step further and try to find covariates that have reasonably good balance (a 50:1 ratio is going to go in the same category asa 5 samples per group). I'd also double check covarying groups in your metadata. (You cna do this for sample metadata, but I'd try for technical metadata). In various places I've worked, we've combined extraction plates into sequencing batches, or had a large set of reagents or several plates. If you're not working on a massive project, I would probably look at either extraction plate or sequencing run as a potential technical covariate. (But i'd pick one and let that represent a lot of other things. Keep in mind that this works best if you've got semi randomized samples; if all your cases are on one plate and all your controls are on the others, you wont be able to distinguish the techncial and biological effects as easily.) You might also want check the literature: look at some previously published studies of technical factors in your animal model, and use it to further narrow your focus there.
Okay, so variable limiting out of the way, next is variable selection. I tend to use the adonis function because it gives me an R^2 effect size, which I can use to rank my covariates. You can see it in Figure 1 of a recent paper of mine or in figure 1 from He et al. In my case, I adjusted for age, sex, and sequencing plate off the bat because my collaborators were convinced of an age and sex effect and sometimes it's easier to throw it into the model than to argue, and then run because it was a simple variable that encompassed a lot of technical variation. I ended up picking the variables that were 60% of the disease variation across the three distance metrics I tested (unweighted UniFrac, weighted UniFrac, and Bray Curtis), which gave me 7 variables to fit for my ~1000 samples.
The caveats (because there always are a few ) is that the order of variables matters for adonis. So, if you're pre-adjusting your data for run like i did, your formula would need to be run + var. If you're working with unweighted metrics (unweighted UniFrac, Jaccard), you may also want to try adjusting for depth or alpha diversity, since those can affect your observed value. Finally, if you're working with coprophagic animals who live together (mice , rats , apparently chickens , etc), you need to keep the fact that they live together in mind.
Hopefully this helps at least somewhat with variable selection, and please come back if you want to bounce more ideas!