Is there actually a dilemma of whether or not to publish channel states for LN nodes? I've heard that there is such a dilemma for LN: if channel states were not published, the payer will not able to find any viable path, unless he takes brute-force-like probing approach (which looks quite unscalable); if the channel states were meant to published, the economic privacy of LN users would be sacrificed.

Does such dilemma exist? If such idea is wrong, why?
I suggest we say channel balance instead of channel state (the state is encoded by a signed  commitment TX and if it leaks you could loose your funds)

As for the balance such a dilemma indeed exists. Indeed routing becomes more trial and error without public channel balances. Yet, there will probably be methods that allow to predict routes with higher probability. 

On the other hand, there is not only the privacy aspect speaking against public channel balances. One would have to announce every balance update to the network which happens for every payment and  would result in an infeasible high payload of gossip messages.