However I'm concerned by the wording: "most". Obviously this is problematic as I need to book flights and accomodation before arriving.
Is there any reason I would not be allowed to stay for the full six months?
I know there are some things I can do to make it clear I intend to leave at the end of the season:
Provide evidence of a return flight
Provide evidence I have money to support myself for the full period
Provide copies of passport details of relatives in the UK
Provide evidence of previous travel
Provide evidence my passport is valid for the whole period
But is there anything I can do in advance to guarantee I will be given the full six months?
No - there's nothing you can do to guarantee you'll be given the full six months.
In addition to the information you've listed above, I would recommend that you ideally also bring along evidence that shows ties to your home country (e.g. property ownership/rental, any job you may be returning to once you come back home, etc.).
In addition to what Scylla said just to clarify that an ETA is an authority to board a plane destined for Canada it is not a visa or in any way authority to enter Canada that decision will be made by CBSA at the port of entry.