A common way of harmonizing free will with God's divine omniscience through time is to use molinism. You can read the wikipedia entry here but a basic summary is that God has middle knowledge, or knowledge of possible "what if" situations. Middle knowledge contains counterfactuals, statements like "if my train wasn't late I would never have met the woman who became my wife," that God knows not just as predictions or good guesses but as factual knowledge as if they were recent historical events (science fiction authors would kill for middle knowledge). God's sovereignty in our salvation comes from inserting us into a situation in life where we will freely accept the Gospel. God, using middle knowledge, says "I have divinely elected Matt for salvation. I will place him in this society with this family. I know that in this situation Matt will freely choose to accept the Gospel and be saved."
I have some reservations about middle knowledge and counterfactuals and how they are compatible with the nature of God as an all-loving being. Most people address the problem of evil by saying that God desires our true love and that is only meaningful if it is possible for us to reject God. Believe it or not this actually poses some problems for the molinists and God's all-loving nature. While free will exists in the molinist account for people to choose damnation (the normal way of explaining how an all-loving God sends people to hell ("it's their own fault!") the fact that God chooses to create them in the first place is a problem for the all-loving crowd. Why create people who will not choose salvation to begin with? Why does God even bother creating people He knows will be unsaved? Couldn't God only create people he knows will freely choose salvation? Taking traditional soteriology and divine omnipotence as a given God's all-loving nature seems incompatible with middle knowledge.
Here are the premises of the problem:
1. There is an infinite number of possible people who will choose salvation.
2. Human history, as we know it, is limited (it had a beginning and will have an end) so only a limited number of people will ever exist. Therefore, of the infinite number of possible believers only a limited number will exist.
3. Of the limited number of people who will ever exist, many of them (in fact, most of those who have existed so far) will reject God's love.
So many potential believers do not exist and many actual non-believers do. If God loves everyone, why would he create non-believers to burn at the cost of believers to save and have eternal fellowship with? Must there be those who suffer?
Those who suffer do not merely have a pointless existence if God wants them to come to believe, but also their existence comes at an opportunity cost to those who are saved. Human history is limited, it had a beginning and will have an end. The total population of humans throughout time has a limit on it. If God is all-loving and does not really want those who are unsaved to be condemned why would even .01% of humans be those who will not freely choose salvation. Most of the people who have existed up to now were not saved and likely many of the people who will exist will not be saved. God could have chosen to fill the world with people who He foreknew would choose to follow Him freely but instead has chosen to take up some space with people who will not choose to follow Him. Many would respond that God, being an eternal being, should not be expected to be efficient; but this seems more malicious than inefficient. Of all the possible people God could choose to give the gift of existence and love to he chose to create the people He knew would deny Him and be condemned.
Kevin is one of the infinite number of possible humans that has the proper features that will lead him to accept the Gospel. Bob is one of the infinite number of possible humans that does not have those features. Kevin will never exist because the world will end before he gets his chance. Bob does exist and is one of the many people who are alive right now who will never accept the Gospel. God could have made things so that instead of Bob, Kevin would exist. Instead, Kevin will never exist to be a person who will have eternal fellowship with God but Bob will exist to be condemned for all eternity. Why would God create Bob and not Kevin? If God could love both Kevin and Bob why not create the one that would live with Him in eternal happiness forever and not the one who would suffer forever.
The only solution I see to this to keep God’s knowledge of the future is that He does not love Bob and is glorified in his destruction. Most evangelicals do not like this idea and I sympathize, I just don’t see a way to harmonize all-loving with knowing the future (combined with the fact that some who are created are not saved).
This problem aids the more extreme Calvinistic argument that God does not love the unsaved. That God is glorified in his wrath as much as he is glorified in his grace. This is a problem for most evangelicals who do not consider this an aspect of God's character.
There is the solution, of course, to not keep God's knowledge of the future. To subscribe to what is called the openness clause and hold that the future is a mystery to God, though he is really good at predicting it. This violates one of the major omnis associated with God's character (omniscient in case you were wondering).
So there's the problem as I see it. Is molinism worth it if we have to dump all-loving? Is there a way around it that I do not see?