Voting should be on specific clauses, and if anything is rejected there should be a cooling period before it can be brought up for voting again.
The cooling period does not preclude discussion of course. That's why we pay the MEPs: They are actually expected to show up in the EP and discuss. Not only show up on voting day and follow what their party dictated.