I actually found using the sharepoint 2010 approval workflows bothersome while using the 2013 version of sharpeoint designer. What I used instead was the "start task process" action in my workflows. This way, I can control when my workflow starts a task process, and my workflow will wait for the result, allowing me to act on that result without having custom busy waits implemented.
To start, whenever you want to send out an approval email, insert that task process action into your workflow. In the action, click on "this user" to open the task process tab. Here, you can tell who to send an email to, what to send, and (more importantly), insert field values and variables of the current element into the email, without having to do cross-workflow lookups. You can then specify what value the task process should wait for, it'S due date, and other stuff.
Once the email is sent, it will link to a task process list view, where the approvar can approve or deny from that webpage. The approvars choice will be stored in the variable specified at the end of the action text.
This way, you aren't including extra workflows, you are always waiting to do the next step when the approvar makes a decision, and you get that decision in the workflow you have the taskprocess for. It's much, much simpler this way.