I found training in 2 distinct cycles gave me my best results rather then sticking to just one method.
The first cycle would be a strength phase of mainly low rep high intensity training.
Now not every exercise has to be under 5 reps but it would be at the lower range for that given exercise. An example would be I wouldn't go under 5 reps for dips as it would increase the chances of injury to my elbow or shoulder but I still would train at the lower rep end of whatever range I have set up.
Also most exercises would be ramped. Having said that I still may do another set with the top weight if I felt I still had more in me.
This cycle last about 6-8 weeks depending on how I feel and progress made.
Then I switch to a hypertrophy cycle which involves reps at the higher end. In that dips example that will now be out to around 10-12 reps. I'll also use straight sets a lot more often and take the final set to failure or pretty damn close depending on the exercise. An example of this would be on my top set of Leg Press instead of doing just one all out set I'll do 3 sets at same weight. The last set could even be a drop set.
This added volume is really when I started to see some progress. Again this phase will last for 6-8 weeks until I return back to a strength phase again. The start of each phase isn't all out so it's kind of a deload. This helps with not burning out.
The main factor though is hard gainers really must push themselves out of their comfort zone. Don't be afraid of training to failure. Actually in a hypertrophy phase I take at least one set of each exercise to technical failure. That doesn't mean I fail the lift as I found that wasn't helpful. It's more taking it to the point where you know you can't get another rep.
As far as food goes if you're skinny then you have to eat more. Simple as that. Easiest way of doing that is adding meals . So if 3 meals a day isn't gaining weight then try 4 . Food choices are very important but there are plenty of articles on here that approach how to eat properly.