Not an expert/master but have been where you are at (sub-1500) and here's what I would pick in your list In order of preference (most efficent to least efficient)
a. , d. c, b.
A few notes:
1. You missed the most important one => getting your games critiqued by stronger players and trying REALLY HARD to not repeat the same types of mistakes from game to game.
2. Playing vs. a Computer makes more sense when you are practicing technique (holding a draw, winning a won game, endgame) and is quite inefficient when you are training to actually beat humans.
3. Enforcing a "reinforcement loop" in your study process when going over your own games. For example.
a) Record a mistake (strategic/tactical) I made in a game.
b) Find out why I made it.
c) Review it again the next day => test yourself to see if I make this mistake again?
d) Review it 3-4 weeks later and see if this mistake has "burned" into your head so that you'll NEVER EVER repeat it.
Rinse and repeat steps a) - d) for every mistake you make.
(other than tactics training), what do most consider the most helpful training method of the following for an under 1500 player:
a. Going over master games, covering the moves and guessing what move was made, seeking to build chess intuition, such as CJS Purdy recommends
b. Playing against a computer, slower games, step at a time, recording the games and then going over the losses carefully
c. Study Book of going through principles, with analysis, etc (My System, How to Reassess)
d. A book dedicated to explaining games, move by move
Thanks to the Experts to Masters who weigh in!