Driving AI is often a difficult thing to approach, because there's a lot of ways it can be done - and they're often used based on the applicability to the style of racing game you're trying to make.
You can use things like bullet behaviour and set up custom "intersections" that gives the AI some orders to adjust angle, choose a direction, etc. You can use a path behaviour of exact driving, coupled with custom movement, phsyics, or almost anything else to give the AI a chance to "be less perfect". As mekonbekon has said you can try pathfinding, though the type of movement you would get wouldn't seem much like a car that's driving.
Are you doing a birdseye/overhead view racing game or maybe isometric? Are you planning on having conventional cars, or are you doing some kind of hovering racer? A little more information about your idea would maybe help find a good course of action to investigate.