An advice to a self-learner of computational complexity
My recommendation is to focus on two things: prerequisites, and practice.

Prerequisites: It's going to be harder to learn computational complexity without first having a good understanding of algorithms.  At many schools, a class in algorithms is a prerequisite to the class on computational complexity.  You mention you feel you may lack maturity in algorithms, and in your position, who wouldn't?  It's a non-trivial subject that you haven't studied.  So, my first piece of advice is: before spending too much time on computational complexity, first spend some time studying algorithms.  There are many good algorithms textbooks and online courses (e.g., via Udacity, Coursera, or EdX).  It might be helpful to spend some time learning that material.  You don't need to learn every algorithm in the world, but try to get a feel for some common algorithmic techniques; designing reductions is basically designing an algorithm, so this knowledge will be helpful.  Also, make especially sure you are comfortable with proofs of correctness for algorithms and asymptotic running time analysis.

Next, practice.  No one starts out with a maturity with reductions.  The way to get more comfortable with that is to practice -- do exercises until you either feel comfortable with the material, or the exercises uncover some gap in your understanding (which you can then go back and focus on learning more about).  You probably can't learn the material without this kind of practice.

To help you practice, it may be helpful to look for an online course (a MOOC) on computational complexity.  You can check Udacity, Coursera, or EdX.

How rigorous should you be?  Rigorous enough that you are convinced that you could fill in all the details if you needed to (and that a fellow classmate at a similar level of studies could fill in all the details without thinking hard -- they'd agree filling in the details is tedious but straightforward and obvious).