So I'm actually going up against the Guard, 750 points. He's bringing 2 Company Commanders, 4 infantry squads with flamers, and two Leman Russes with Sponson and Hull Heavy Flamers.
I'm bringing Tyranids so you can understand how boned I am. Counts as, I have two Trygon bases, four Carnifexes, a shitpile of gaunts and stealers, a Tyrant, about nine warriors, and 3 Neuro/Venom/Zoanthropes.
Anyone got some advice for me to circumvent his piles of autohits?
Carnifexes are a solid choice, somewhat depending on what weapons they have. I think the two main loadouts still used are the ever popular quad-brainleech devourers dakkafex and crushing claw melee carnifexes.
Flamers aren't quite as bad in 8th for deleting gaunts as they were when templates were still a thing, though 9th is bringing back some more of that deletion effect. You can just cram a whole lot of gaunts around a leman russ in melee to shut down it's shooting though, and they'll eventually bring it down.
One option you have is to use the tyranid ability to ignore morale to camp on objectives, depending on what type of mission you're playing. Tyranids can park enough morale-proof models on an objective that it becomes impractical to try and take the objective away from them, and objectives can be more important than killing the enemy.
Charge targets with units that are either able to ignore flamers like carnifexes or that are expendable like gaunts before declaring charges with more important units. If a unit of gaunts could charge 5 units of guardsmen then it should do so, charges are resolved sequentially, so once a unit declares a charge the defender must decide to overwatch or not there and then rather than waiting for the result of the charge roll or being able to wait until you declare another unit is charging. Provided the first unit makes it into melee the defender has either overwatched that unit or can't overwatch any other unit.