It's impossible to predict forward exchange rates so buying dollars now is a bit of a gamble. But maybe you would have peace of mind by doing so. It's up to you.
A Revolut card is the way to go. You can hold EUR, USD, (and GBP) on it. I've used it to rent in Ireland with Hertz, Enterprise, and Europcar and in the US with Alamo. It's not supposed to work but it has for me every time.
btw, I've always bought the Collision Damage Waiver. If you don't the rental company will try to put a significant (say €1,500-€2,000) hold on the card as a form of guarantee in case of damage. You would need to have this loaded onto your card in advance and be prepared for it to be tied up for as many as 10 days after the rental period ends.