Line Follower - Reliably Dealing With A 'T' Junction

I am working on a line following robot. I have the robot following straights, curves, and right angles pretty well already. However, I've hit a wall when it comes to dealing with a 'T' junction.

My line follower has 6 sensors in the front. I am currently using a PD loop for straight lines and light curves, along with special cases for right angle turns on the left and right where if four sensors on on side detect a line, the robot enters a loop and keeps turning untill the outer two sensors on both sides dont see the line and the middle two sensors see the line. This is illustrated in the diagram below:

I am using this turning algorithm because when moving at high speed the result is many times more reliable than simply turning when a right angle is detected. However, it causes problems when I throw in a T junction on the track. Ideally, I would want to be able to detect a 'T' junction and be able to turn either left or right based on the shortest path the track offers. Since the program executes thousands of times per second, I cannot simple detect a 'T' junction by looking for a state where all sensors see the line, because if the robot enters the junction even half a millimeter turned, one side of the array will see the line first, and one of the right angle cases will get fired before all sensors are on the line. This is illustrated below:

This would mean the robot would never detect the junction and turn either to the left or the right based on which side of the array saw the junction first. I am looking for a solution to this problem, perhaps by adding more sensors in the front, and would appreciate any suggestions.

Thank you.

How often are you able to check these sensors? Can you reasonably expect to check the sensors several times before the robot drives completely over the top of the T? You should probably not enter the right-angle code unless you've detected that the turn is more than 1mm wide and you haven't hit the T.

Or, why not have the T special case detected inside the turn case? If it's turning and all sensors are on the line, then stop turning and treat it as a T.

Just out of curiosity, how is the bot supposed to know which way to turn at a T junction? How is the bot supposed to know ahead of time which leg offers the shortest path (to what?).
One way to force a left or right turn would be to not have the T junction perpendicular, but have it at a slight angle which will cause the bot to turn towards the acute angle.

I think these is one of those competitions where the bot is allowed to explore the maze and find the shortest path, then it's timed over executing that shortest path. We've seen those sorts of questions here before. Usually they aren't as advanced (6 sensors!) and this one actually seems like a simple question in terms of prioritizing the corner-detection special cases.