As I understand(Please correct if I am wrong) inorder for me to send BTC from A to B, I need to open the channel. So as a user I would have to do the same thing again If I have to send BTC from A to C (Unless B already has an open channel with C).
You have to open a channel, yes. But you don't have to open the channel directly with B. You can open a channel with anyone (X) as long as there is a route from X to B.
I think in long run we will see centralized points which have multiple open channel that users would connect to.
That would be fine too. This wouldn't cause a problem at all.
Those hubs don't have any influence or 'power'. If you don't want to connect to them (e.g. because big hubs or fees), don't do it.
People can choose who they connect to.
I know people dont like it but BCH atleast has a solution or even variable/flexible blocksize would solve in much better case.
It's not really a solution. They postpone the problem.
Increasing a variable (blocksize) can never be a scaling solution.
A lot of new problems appear with a bigger blocksize which shouldn't be ignored.