Based off the picture, I would name that "to I-80 Bus E / SR-99 S / Reno / Fresno"
While I wouldn't object to doing columns first, I'd probably eventually come along and rename it that way, just because I agree that I care more about SR-99 S being on this split (especially if I'm going that way) than I do about Reno being on the split.
Essentially, I follow the column idea that you advocate except I prioritize numbered roads over cities. In my opinion, cities are a bonus to give extra detail, the name of the road you'll actually be driving on is more important.
Then I'd name the following ramps "to I-80 Bus E / Reno" and "to SR-99 S / Fresno"
Even if the original split has a long name, it would have enough time to spit out the vital 'keep right' or 'keep left' beginning of the next instruction, especially if it interrupted itself to do so, which I believe it should if it doesn't already.
Plus, if the user is actually using the visual indicators on the device as well, there shouldn't be any doubt about which way to go.
Plus, if the segment really is that short a distance in time to travel, the instructions should say "keep right and then keep left" 500 feet out from the first split. Perhaps upping the minimum distance before an 'and then' prompt could be useful as well, especially when traveling at high speeds.
If none of the above was accurate and users were not getting the vital 'keep left' or 'keep right' in time then I'd change the name of the first split into "to I-80 Bus E / SR-99 S" and see if that worked, and if that still didn't work then I'd remove the name and leave that segment unnamed so that the name of the next split they're taking would populate to the first split.
I would, however, prefer to name signs accurately and let the TTS handle it, interrupting itself if need be, and/or giving the instructions further out so it has time to speak them. Only if it's a confirmed TTS fail from like a UR or something would I start simplifying or removing names.