kabz
The main reason only a percentage of the seats are available for pre assignment is because not all people who book flight tickets on BA have access to the internet! They have to wait until check in. Also, some seats are left until check in incase need arises to seat disabled passengers, executive club members, VIPs, etc or if the business class load increases on the shorthaul routes for example.
Next time you're on board, ask for a questionnaire to fill in (otherwise known as a Global Performance Monitor form). You can mention your frustrations on here, and it will be read.