If you look at https://wiki.openstreetmap.org/wiki/Bicycle#Bicycle_Restrictions, then oneway:bicycle=no is THE solution to indicate that the street generally has oneway traffic, except for bicycles.
The shared_lane does not give any clue that for bicycles two directional traffic is allowed.
One could use cycleway=opposite, but the tagging oneway;bicycle=no is imho more explicit towards the (no) oneway feature as there is no opposite cycleway often
Tags as opposite_lane do not necessarily have to be true; at least in many small streets in Netherlands, Belgium, Germany opposite to general oneway restriction of bicycle traffic is allowed without a separate lane for the opposite bicycle traffic, where ‘lane’ suggests differently.