Firstly, change your payment terms. For example, get paid monthly throughout the project, or get paid in multiple stages and only leave 10-15% to be paid upon completion.
Secondly, make sure your contract stipulates very clearly that any content provided by the client is to be considered the final, proof-read content that you are expected to add to the site. Once the content is added, any additional changes are charged at £xx per hour, with a minimum £xx charge per revision. That tends to encourage the client to be a bit more careful about what they send you.
Thirdly, try to get the definition of 'completion' to be the delivery of the 'empty' site (before text content added). If they don't bite on that, insist that the site is signed-off and paid for the moment the content is added - if they insist on wanting more changes, tell them you want paying for the original spec first.
I'd also add that if they have a CMS, then these minor changes should really just be bounced back to them. Maybe use the training session to teach them how to fix a few of the changes and then leave them to it. But make sure you get paid in full first. I usually expect final payment to be made immediately after the training session, so I forward the balancing invoice to the client in advance of the meeting and make sure I take the singing off paperwork with me to the training session.