I suspect your information about Francis' parents is from his death certificate which is only as accurate as the informant's knowledge of the person. John seems to be the default name to give the father if they don't actually know the name.
He seemed to prefer to go by Frank as he is listed in the 1900, 1910, 1920, 1925 and 1930 censuses that way. The 1900 census has him under the name Stephens and the 1915 SD census has him as Francis. The censuses vary on where his parents were born. Most have his father born in Indiana (which would make more sense than Iowa) or Ireland. His mother is usually listed as born in Indiana, but also Ohio and Pennsylvania. I also suspect Frank was a loner and may have been orphaned by one or both parents as a child. If true he may not have actually known too much about his parents.
The best I can suggest is to get his obituary. It may just have his surviving siblings. Track them down and they may lead you to his parents. The obit may also have the actual town he was born in. His marriage record may or may not have some helpful data about his parents. It too may have the town or at least the county he was born in. This would narrow your seach considerably.
BTW it seems very strange he would have the identical first and middle name as his father-in-law especially a very rare middle name like Merrin. Are you sure about both their middle names?