Here are some principles and tips I found useful when creating user flow charts/diagrams.
Principle 1: User flow should be focused on tasks.
Break down all tasks that users want to achieve by your app, create one chart for each task from start to end. You can stack these smaller user flows on top of each other for better overview.