I think without going to extremes there are hardly any downsides to forward includes.
I personally wouldn't care about the screen space. It sure beats multiplying build times by 2 to 5 to 10. We used to have build times upwards of around 2 hours.... Some extra forward includes could have eliminated the same file getting hit thousands of times.
Anyways, you can't always use a forward declaration for everything. If you are sub-classing something, than you have to have the class definition, and that could mean an include. That's fine.
One thing you can do, to remove dependencies is to de-inline your code in your header files. Make sure to push interfaces up, and implementations down (See C++ coding standards by Sutter and Alexandrescu). Meaning prefer for your public API's to be abstract interfaces if possible. If you can do that, than the amount that you need to include or forward declare can be minimized.
Oh and also don't put hundreds of functions and classes in one header file so it's 8000 lines long. No one can read / comprehend such files.