The list of possible topics that you provide vary in their categorical demands from the relatively light (e.g. differential topology) to the rather heavy (e.g. spectra, model categories). So a better answer might be possible if you know more about the focus of the course.
My personal bias about category theory and topology, however, is that you should mostly just learn what you need along the way. The language of categories and homological algebra was largely invented by topologists and geometers who had a specific need in mind, and in my opinion it is most illuminating to learn an abstraction at the same time as the things to be abstracted. For example, the axioms which define a model category would probably look like complete nonsense if you try to just stare at them, but they seem natural and meaningful when you consider the model structure on the category of, say, simplicial sets in topology.
So if you're thinking about just buying a book on categories and spending a month reading it, I think your time could be better spent in other ways. It would be a little bit like buying a book on set theory before taking a course on real analysis - the language of sets is certainly important and relevant, but you can probably pick it up as you go. Many topology books are written with a similar attitude toward categories.
All that said, if you have a particular reason to worry about this (for instance if you're worried about the person teaching the course) or if you're the sort of person who enjoys pushing around diagrams for its own sake (some people do) then here are a few suggestions. Category theory often enters into topology as a way to organize all of the homological algebra involved, so it might not hurt to brush up on that. Perhaps you've already been exposed to the language of exact sequences and chain complexes; if not then that would be a good place to start (though it will be very dry without any motivation). Group cohomology is an important subject in its own right, and it might help you learn some more of the language in a reasonably familiar setting. Alternatively, you might pick a specific result or tool in category theory - like the adjoint functor theorem or the Yoneda lemma - and try to understand the proof and some applications.
In one place, the theory of fibrations, I feel tom Dieck's book is superior. Thus in the first edition of Spanier, in the proof of Lemma 11, of Chapter 2, Section 7, Spanier writes down an extended lifting function $\Lambda$, but he does not prove it is continuous. I did not manage to prove it was continuous, and in fact found the function was not well defined. I sent a correction of the definition to Spanier, and this appeared in the second edition, but I still do not know how to prove $\Lambda$ is continuous. Have I missed something?
On the other hand Spanier's ideas on the construction of covering spaces are still referred today by experts, with the notion of what they call the Spanier group.
I find Section 3 of Chapter 7 of Spanier on "Change of base point" rather hard work, and I feel it can all be much easier done, and more generally, by using fibrations of groupoids. But tom Dieck's book does not use this method either.
Spanier gives van Kampen's theorem for the fundamental group of a simplicial complex as an exercise, while tom Dieck's book does give the statement of the theorem for a union of two spaces. Hatcher gives a more general theorem, for a union of many spaces, but none of these mention the fundamental groupoid on a set of base points.
I tend to agree with 313's answer that readers should look around, and find what is easier for them, in different aspects.
My copy of Spanier, dated 1966, had a price of \$15, but when I checked for inflation that was equivalent to \$111 today.
March 13: I add that neither book develops the algebraic theory of groupoids. For a relevant discussion on this, see https://mathoverflow.net/questions/40945/compelling-evidence-that-two-basepoints-are-better-than-one/46808#46808
Best Answer
The question highly depends on how deep you would like to go into algebraic topology.
If you are interested in learning algebraic topology as a general knowledge i.e. in the level of Hatcher's beafutiful book Algebraic Topology, then you probably need to know group, ring, and field theory, especially the structure of graded rings, and some basics of homological algebra such as $Ext$, and $Tor$. Note that there is actually no need to worry about homological algebra since all the required knowledge is introduced in that book when needed. Therefore, it is fair to say a good knowledge of abstract algebra should suffices to take a first course in algebraic topology.
If you would like to go further, such as studying stable homotopy theory, you probably want to have a good knowledge of category theory without which you could not even define the stable homotopy category which is central in algebraic topology. You also want to know more about homological algebra which enables you to study important topics like spectral sequences. You also need to learn about the theory of formal group laws to understand Quillen's celebrated theorem which establishes the relation between the universal complex oriented cohomology theory and the Lazard ring.
It is really hard to answer your question in the full completeness. What I mentioned in the above should only serve as a "necessary condition". Hope this answer helps.