First off, yes it’s a pain in the ass in practice and a real headwind for using crypto as a currency. At the same time
most people are treating crypto as a property investment in practice, so it’s hard to dispute the IRS’s approach here.
As for solving the problem with software, it’s already “solved” by your broker. In the investing world when you sell you choose which lots you want to sell. You typically tell your broker what sort of strategy you want to use (LIFO vs FIFO) and they handle it for you. So I’d expect a software solution to work the same way - you would configure the software to LIFO/FIFO/other.
It’s similar to stocks, when you buy the same stock at different times. Most people simply go “First In, First Out”, although you can use average cost basis or simply select the lot you wish to have sold.
Edit: easiest thing to do as a workaround, imo, would be to build tax reporting into wallet software.