Not getting approval on a client delivery is a problem because the time needed for a resubmission is unknown and will be taken from time already allocated to future development, creating slippage. And you don't get paid.
The way to get approval immediately is to make the submission a formality: if the client knows what you will show them, and if you know what they will say then the submission becomes a milestone (a point in time) rather than a task to be scheduled.
The way to make the submission a formality is to apply the Rule of Three:
1- Find out who the client is
2- Find out what they want
3- Show it to them often
You want to talk to the person giving the approval, you want to be sure you understand what they want, and you want to be sure they understand what that looks like.
- Document what they want with zero ambiguity before the work starts: remove words like 'final' and 'complete' because nothing is ever final and complete and it means different things to different people; do not use '80% placeholders' unless you can actually count the placeholders one by one. Instead, use qualifiers that can be measured, preferably by someone outside the team or even the industry to make sure they are unambiguous. It's not straightforward but even gameplay and quality can be described in that way and once you find a way to do it you can reuse it for all your projects.
- Show them the work throughout development so there are no surprises. Make them attend progress meetings, even if they resist, by making them shorter and more engaging. Reword what they ask for so you are sure they understand what it will be/won't be.
- Control the change management process. This is worthy of an entire post on its own because of the havoc changes can create. Change is necessary in creative industries because it's part of the creative process, but it needs to be controlled to avoid destroying the vision and the delivery. An alternative to controling change requests is to:
- Engage them in the development so they don't feel like they have to request changes at the very end just to feel fulfilled. Present alternatives and ask them to choose one, offer one solution and ask them for alternatives. Not every client is interested but if they are you will be taking control of where they give input to satisfy their desire for involvement but retain control of the development process.
Getting approval of a delivery first time is very much possible and relies as much on the personality of the person leading the team as it does on working practices. With a little practice you can develop a series of tools and behaviours to get you where deliveries are just a formality - and when you get there you'll immediately see which clients are being deliberately difficult and decide whether ou want to continue working with them or not.