There are a few strategies I use to minimise this problem.
Some of these need to be put in place before the start of the project.
1. Up Front Deposit
Charging a 50% (or similar) up front fee at the start of the project makes clients take a stake in the project and they are more likely to work towards the conclusion of the project in a timely manner.
2. Contract / Terms and Conditions
Include in the contract or terms and conditions a clause that allows you to invoice for the work completed even if there is a delay in the supply of the content.
With this approach, you get paid on time and can let the client worry about whether the project is completed or not. If and when the content materialises, you can schedule the completion of the project to fit in with any other work you may have at the time.
3. Put Responsibility Back on the Client
Where the client is unreasonably delaying the agreed supply of the content, and assuming the client has appropriate access and skill to do so, or suitable instructions can be supplied, it may be reasonable for you to invoice the balance and leave the client to upload and publish the content and complete the project themselves.
4. Project Variation
Clients often don't realise how long it takes and how hard it is to write good content. There may be an opportunity for you to write the content for them or outsource this work for an additional fee.
5. Charge an Additional Fee if Agreed Content Deadline Exceeded
Unavailability of the content by the agreed deadline may mean extra work for you. If this is the case, you can probably justify charging an additional fee. You could explain to the client that you need the content by a certain date, or an additional fee will be incurred.
6. Restrict Your Availability
Assuming you have other work, you can impose a deadline and let the client know you may not be available for a while after the close of the deadline. For example, it might be reasonable to explain to the client that you have other commitments next month and that they need to supply all the required content within the next two weeks (or similar) if they want the project to be completed this month, otherwise there may be an additional delay.