Other possible option is flying up to Bologna. Nevertheless it won't be cheap. As long as you are looking for direct flights it will be expensive.

Other possibility would be flying to Milan and then to drive south. The Madrid-Milan route has some 6-7 flights every day in both senses which will make a lot easier to find cheap seats.