When using HEAD, you should be returning exactly the same response as if GET was used, except for the response body.
That means if you go with this approach, you should be including the "count" in the headerlist also when GET is used.
GET /books
HEAD /books
Not sure how much overhead does that add to the execution time on the server, if not much, then use that. Otherwise, create a separate URI like the one in 1.
GET /books/count
(I would rather use something more general though, so later you could add something else here too
GET /books/meta)
Cheers