Good Gantt chart software can be helpful, but, in my experience, not enough for efficient resource planning. For the cases described in both questions, I’d advise something a bit more advanced. Wrike, PM software that my team and I have been using for more than a year now, has an interactive workload view, which helped a lot in optimizing our schedules.
I tend to use its Gantt chart and workload in combo. First, I plan the project’s steps and set its milestones on the Gantt chart, and then I assign the tasks to my team on the workload. And there I can actually monitor how loaded with work each member of my team is at any time and, if needed, reallocate the tasks. So if, for instance, one of my team members falls sick, I can simply divide and drag-and-drop his tasks among the rest of the team.
This software has been a real life-saver for us, and I can’t even imagine how hard it would be to keep all that in one’s head and, honestly, can’t see why a person would want to :)