To clarify the choices:
(#1) The infield fly is still in effect, meaning that the balk will be enforced. If that's the choice, when do you call time? I guess you do need to indicate "Infield fly!" to clarify why you are killing the play. I think the mechanic would be "Infield fly!" Then wait until the ball comes down so fielders don't look away with the ball coming down on them. Then immediately call "Time! That's a balk!" Add "No pitch!" if you want, and award bases.
(#2) Because the defense screwed up, and in this situation a double play is impossible, reward the offense by ignoring the infield fly rule and require the defense to make a play. If they fail to catch the ball and fail to make a play, allow the offense to capitalize off of that. In that case, you say nothing unless the ball is caught or someone is out before advancing. (And then: "Time! That's a balk! ...") If the batter-runner and all runners advance one base, ignore the balk.
I don't think any rules really allow us to ignore the infield fly. So I'm thinking option #1. But there's a good argument for #2.