I do this too and so why do I do it?
In essence it's because there is a very large number of lazy programmers who live by cut and paste. We're not just talking the "I've found a solution on Stack Overflow and will use that", but more "I've searched Github for keyword + language and this file does what I need".
The files are copied into their projects in its entirety, sometimes whole libraries are, and those programmers never bother to check how a project is licensed.
Once this process has been repeated a few times the code is firmly detached from the licence and any original license is ignored.
If I use the suggestion you make, then by them copying files into their project they have changed the licence of a file (it now inherits whatever their project uses).
Though I do like the idea of a stub instead of the full thing:
# Licence: BSD (3-clause) https://github.com/owner/project/LICENCE.md
That would be enough to describe the licence for the file in a way that survives cut and paste, whilst also providing a URL for the full licence details.
In fact, I will now probably shift to that.