I mean, this probably still matters a lot for startups given their shorter lifetimes, but it seems any large company(I'm thinking of, e.g. Apple, who has plenty of cash on hand) that's been around for a while could just wait it out? I am not familiar with corporate tax law and how deals are structured, but could you also defer revenue in the same way to offset(e.g. customers with a 5 year contract paying progressively more but keeping the same total $ amount to sync with your deductions)?
Most developers are fixing bugs, helping sales, keeping systems online, keeping up to date on patches, performing security scans, complying to some internal policies.
https://www.law.cornell.edu/uscode/text/26/174
> (3)Software development For purposes of this section, any amount paid or incurred in connection with the development of any software shall be treated as a research or experimental expenditure.