There should be an option where Tridion would delete Publish Transactions after some time so that they are not stored indefinitely in CM database.
My suggestion would be auto option where configurable timeframe would be in Tridion Content Manager Config. In this regard, publisher service would be extended to remove old Publish Transactions.
Other, less optimal option would be to have a tool provided by SDL. Something like "remove old versions of items" tool. In this case admin would run this tool from time to time, or set its execution period.