Are there any particular ATMs in Spain that should be avoided? Rip-off fees, bad exchange rates?
Anything from Travelex. You will not have to worry about exchange rates as long as you specify the transaction to be in EUR. Stick to bank ATM's. You may have to pay a terminal fee of a couple of EUR. The rest is on your bank. Do they charge "out-of-network" fees? Do they charge foreign currency fees?
As a general practice, choose an ATM that is affiliated with a bank (attached if possible). There are some deceptive ATMS in other countries that I have encountered, not sure if they are in Spain but probably--Euronet is one. You can always tell because they will tell you the exchange rate, and you can cancel the transaction if it is off (look it up before you depart). Of course, know what your bank is going to charge you to minimize fees.
There's really no such thing as a good exchange rate on an ATM. If you see a reference to an exchange rate--any exchange rate--you're in dynamic currency conversion (DCC) territory and are about to be ripped off. You always want to conduct the entire transaction in the local currency.
When I was last in Spain (2019), it was harder to find an ATM that didn't charge fees than it was in 2016. I wouldn't be surprised if it's even worse now. It's worth Googling no-fee ATM Spain to see whether a recent blog or TripAdvisor post on the topic pops up. I know I ultimately found a fee-free ATM when I needed one, but I'm traveling now and don't have access to my records. And as already noted, the situation may have deteriorated in the last 3 years.
See if your ATM card bank has a partner bank in Spain. If it does, use its ATM. For example, Bank of America’s partner bank in Spain is Deutsche Bank, so no fees are involved, except the foreign transaction fee.
There should be no exchange rate involved. That applies to credit card transactions as well as ATM withdrawals. A traveler who accept use of dollars on transactions stands to waste a lot of money. DCC on two weeks' worth of 200-euro hotel rooms could approach or even exceed 200 euros.
I'm currently in Istanbul. Ziraat Bank ATMs do not charge a fee (which I appreciate), but they always offer DCC. The exchange rate is 8% below par.
My experience in Spain, on two trips, was that being a Bank ATM doesn't mean much, nearly all ATMs will offer you DCC, just decline, and at least half the bank ATMs will charge a use fee. As for fee's they ranged from 3 euro, on up, one wanted 7 euros (I think it was Santander). Even though my card reimburses fees, I declined, that was too much, even if it wasn't me paying, just out of principle.
Luckily you will not need much cash, so just grin and bear it for a couple transactions, and don't waste your time searching for the perfect deal.