Okay, so here's the really challenging question: if Nico Hulkenberg goes to Haas, who replaces him at Force India?
Pascal Wehrlein would probably be the first choice; he has tested for them before, and with all the talk of Red Bull defecting to Mercedes power, Force India will want to shore up their relationship with Mercedes.
Romain Grosjean would be another good choice, since he's clearly going nowhere at Lotus. Of course, that really depends on what Renault want to do; if they buy back in, they might want to keep him on-board. In the same vein, Pastor Maldonado might be a possible choice if Renault buy Lotus and cut him loose.
If Jenson Button goes to Williams, then Williams might also replace Felipe Massa - probably with Alex Lynn, but they might also go for Wehrlein for the same reasons mentioned above - to get a young driver with star power, which would make Massa a viable choice for Force India.
Stoffel Vandoorne or Kevin Magnussen might also be possibilities, but I imagine McLaren would only arrange it if they were confident of beating Force India.
Otherwise, they would have to look to GP2 where they might be able to find a solid midfielder. I'm thinking of Rio Haryanto or Mitch Evans, who have shown real potential, but have been let down by dud career moves in the past (Haryanto went to Addax when Alejandro Agag was busy with Formula E and neglected the team; the moment Adrian Campos bought it back, Haryanto's results picked up again); or Sergey Sirotkin, who has really had a turn in form, but has been inconsistent in the past (and has had a few sponsorship problems because of the embargo on Russia) and so might need another season.