On Amazon and Home Delivery Network

Amazon and I have had a parting of the ways today.
Yesterday I was supposed to receive a book that I pre-ordered over six months ago.  Unfortunately Amazon dispatched it via the ever unreliable Home Delivery Network (HDNL).  Amazon seem to have a preference for using this courier, presumably because they get a good rate for doing so, however HDNL are pretty unreliable.  They have repeatedly failed to deliver parcels when they are supposed to, and have (as they managed to do again yesterday) claim to have delivered it when they haven't, i.e. they lie, or don't even bother and just say you were out, and then you have to go to the depot and collect your parcel, i.e. they lie.  In fact more often than not they seem to be able to do something other than actually deliver the parcel.
When Amazon use HDNL you get a tracking number, nothing new there but obviously this means that you can see where and when you parcel is (or at least allegedly is).  I checked for mine yesterday morning and it said that my parcel was out for delivery.  Great.  At 5pm it was still out for delivery.  At 630pm it had apparently been delivered (at 5.25pm), through our letterbox (incredibly precise that tracking isn't it!), but surprise, surprise no parcel, not through our letterbox, or hidden in our garden or left with a neighbour or anywhere that I could see.
I emailed Amazon, and got a very prompt reply, with promise of dispatching a replacement, they apparently understand my frustrations with HDNL, but there is nothing they can do about that.  Er hang on a minute, how about not using them?  Getting another courier?
Skip to today.  Parcel has been delivered, but no explanation as to where it has been or why it was reported as having been delivered yesterday (at 5.25pm through our letterbox).  My only thought can be that the courier put it through the wrong letterbox somewhere else, and that person out of kindness delivered it to us?
As Amazon are going to send me a replacement I went onto the website to cancel it, I don't want two items after all, but it's too late as it's too far into the dispatch process for them to do anything about it, so I've emailed the person in customer service who helped me yesterday to see if there is anything they can do.  I suspect probably not, which means I will have to return the second parcel when it arrives or refuse delivery.  Basically more hassle for me.  All because Amazon use HDNL.
So I am cancelling my amazon prime membership, I'm not getting value for money, and I'm certainly only getting more hassle from HDNL each time Amazon use them.  I've also cancelled the ten pre-orders I had with amazon, I'll get those items somewhere else.  If I have to pay a little more it will be worth it, to not have the hassle of HDNL.  From now on the only thing that I will order from Amazon will be kindle books.  Now I know I might change my mind, particularly with Christmas approaching, but certainly I will be thinking twice about using amazon from now on.
Thing is, it isn't just me.  Go on the amazon.co.uk forums and see the number of other people who are having problems with HDNL (or Yodel, as they also describe themselves), there are 1000's of them, so why do amazon persist in using them, particularly if it's costing them customers?
It also isn't just Amazon parcels that I have had problems with, other companies use HDNL, and when I have bought things from them I have had similar experiences.  Guess what?  I no longer use those companies, and in all cases I have never gone back to them.
So Amazon, how about it?  End your contract with HDNL?  Keep my custom?