How to find a truly bi-directional level shifter?
There are bidirectional level shifters with automatic direction sensing, but that ability requires compromises in other electrical parameters.

There are two widespread architectures for automatic direction sensing:


TI's TXB010x (and equivalent chips from other manufacturers) have the outputs in both directions active at all times:


  
  source: A Guide to Voltage Translation With TXB-Type Translators


The output drivers have a high impedance to allow other devices to override the voltage level. This means that those other devices need to have enough drive strength (at least 2 mA), and that the TXB's outputs have a very low drive strength (only 20 µA guaranteed).
TI's TXS010x (and equivalent chips from other manufacturers) use passive switches to pass low voltage levels, and rely on pull-up resistors to generate high voltage levels:


  
  source: A Guide to Voltage Translation With TXS-Type Translators


For a low signal, other devices must have enough drive strength to sink the current from the pull-up resistors and to drive the input(s) on the other side of the translator. A high signal is generated by the pullups.

There are level translators based on discrete MOSFETs; their architecture is essentially the same (without the one-shot edge accelerators).


TXB-type translators are appropriate only when connecting directly to CMOS outputs and inputs; pull-up/-down resistors will not work (except when extremely weak), neither will any load, such as a LED.
TXS-type translators are appropriate only when an open-drain signal is possible.

In the general case, you should use unidirectional or direction-controlled (with DIR) translators, if possible.
(And for the same reasons, most GPIO pins are designed so that they must be explicitly configured as input or output.)