You only need about 500mm head to feed a toilet cistern (with any flow restrictors removed) so a smaller tank can fit just below the eaves without issue. A 100 litre tank would provide about 20 flushes on a low-flush toilet. My preference would be to have this tank internally for maintenance, although I have been to customers' houses where this has been done externally as DIY and it works well, if a bit ugly.
I agree a large underground tank is best, but not practical for all. Either option would be easy to design-in with a new build if stipulated, and better than introducing points of failure into roofs that are already designed to be as quick and cheap to build as possible with unskilled labour. Impossible to fix the mass builder quality issues, but we can fiddle around the edges to get minor environmental improvements perhaps.
Given the number of hosepipe bans in the last few years - and weather predictions for the next 50 years - it is madness that this is not already mandated.