I actually think that reading articles about the clinical manifestation of diseases or texts like CMDT helps a great deal in learning about signs/symptoms and differentials. Books about H&P's or cards with ROS on them may help, but they don't really help you understand disease. With that being said, it is quite obvious that experience is the true teacher.
The more you understand about the etiology of disease states, as well as what things commonly manifest in similar fashions, the better you will become at learning what questions to ask. Generally, the best way to approach and HPI is to ask questions to describe in detail the nature and duration of the chief complaint (how long, where, what makes it better/worse, intensity, etc). Then, as the patient provides you with information, you should start to get a differential in your mind, which allows you to ask questions that rule in or rule out certain illnesses. As things get narrowed down in your mind, you can begin to ask about risk factors, common comorbidities, etc. I've had some attendings who use this general approach and recommended it as a good thorough approach to eliciting a solid HPI. Other people may have devised different methods, but this one seems to work really well for me.
By the end of your HPI, the audience should have an idea in their head as to what is going on (or atleast be thinking about how to further narrow down the differential), then by the end of the exam/labs/imaging your assessment should be confidently stated and supported by your subjective and objective findings. It is all about building and case that makes sense.
Hope this helps.