Scrivener seems useful. The way I do it is that I have a private Google Doc where I've set up the Outline System. Each separate header is organized and there are zones for minor headers within those headers. Though, it is also a mess most of the time since I leave a bunch of tick mark notes all over the place when I have random thoughts. It is just a private doc anyway, the actual docs I use are organized to look nice. Any writing for characters is kept in its own place.