I would look at getting a flight to NYC. Then a flight to Barcelona. It doesn’t have to be the same carrier. Price it from Chicago, DC, Detroit, Boston. Since this is just a transfer point, you can select based on price and schedule.
Choose carriers you know / trust. Watch the news and see who is reported as having travel delays and cancellations (not based on weather or big holidays).
While a stop in London is nice (I did that), Immigration lines can be very long. There are also issues of industrial action (strikes) that pop up - usually with some advance notice.
On my return from Barcelona in 2010, the Icelandic volcano grounded many flights, so we scrambled and found a flight on Air Berlin from Barcelona to Düsseldorf, then to Ft Meyers FL (and then a 14-hour drive home). The carrier was actually decent, with full meals and a very happy crowd of Europeans.
* If you change carriers, you will have to exit secure area to collect your luggage, then check-in and go through luggage drop and security again.
(I’m old enough now that I would pay the extra money and fly one carrier all the way - and it would be Delta, my usual carrier).