No, I haven't found a practical way to label the tops.
It's not ideal for lots of different types of parts, no. But most of my tubed parts are caps and resistors. I tend to keep only a couple kinds of transistors, diodes, fuses, LEDs, smd tacswitches, etc on the rack. I prefer to keep most of those parts on the reel/tape, because they require proper orientation when placing, and a pile of randomness is not always convenient. These odd prototyping parts, I do in the front rows. Diodes all grouped together, etc. You can see the labels and the parts in the front row, and I put like parts behind those. Reorganizing them as necessary and/or swapping colored caps is pretty easy, too.
You can also put shorter tubes in the front half and taller tubes in the back rows, dividing things in two and having twice as many columns of readable labels, having 3-tube columns for each type of item. I happen to have my rack organized with 75mm in the front three rows of my rack, and 100mm tubes in the back 3 rows, ATM.
Perhaps the way you work, you could use both types of boxes and tubes. I don't usually have a spot to get a big set of boxes near what I'm working on. I can barely find a space for my keyboard, sometimes.