Hey,
I'm also mainly an offline racer but my experiences are quite good with AC's AI. The key is to create custom grids in content manager. Then you can assign discreet agression numbers to each individual AI opponent. If you want to do multi class racing then give the top class cars (for example IMSA prototypes) a pretty high aggro number (70-80), the next class something below (eg. GTLM 50-60) and the slowest cars (GTD in this case) get even lower numbers (30-40). When the prototypes reach the low tier cars, the extreme difference to their aggro settings (like 33 against 78) will make sure the faster car with more aggresive driving style won't hesitate overtaking the slower and shy opponent.
The same applies to single class racing, probably with smaller differences.
I also recommend you to set the strength individually as well, especially if you are looking for historically accurate (or at least believable) results.
This whole process obviously takes some time but I guarantee you it's well worth the fiddling, because the experience is night and day compared to simply setting the strength and aggression with those two sliders.
Have fun!