Why do we duplicate field data in the field_revision_* tables when revisions are disabled? Even with revisions turned off for a given content type, the field_revision_* tables for the fields each contain a single record that matches the corresponding record in the corresponding field_data_* table.

I've always been aware of this, and previously, I've never had a reason to question it. However, now I am dealing with an extremely large database, and almost 50% of the database size is made up of this duplicated data in the revisions tables.

Why do we duplicate all the field data in the revision tables when revisions are disabled for a content type?
That's a great question - I wonder if it's any different in D8. 

The field_data tables, and node table also track the "current vid" which is the current revision id, I guess they felt there had to be at least one.  But it does seem like there should be another way to do this. Maybe they could just store a 0 or something as a flag in the field_data tables current_vid column to indicate there's not a revision.