Thanks for the response.
After reading your comment I found article in docs “Networked Movement in the Character Movement Component” and it describes in details how it networking works in component. I do not know how I could miss that, sorry.
I believe now that I should only worry about movement replication when I would like to create my own custom movement component, however in article mentioned above, there is a whole process described how it should be handled.
And thanks for the tips about splitting logic. Initially I wanted to put input events in PlayerController, but it made relation Character<–>Player Controller more tight. I will try to split next components and logic with common sense as you said, but it is always a good practice to ask about good practices and correct patterns (And it might save you from refactoring huge blueprints at some point)