I'm re-writing this answer because it was down-voted despite being a very clear method of improving critical thought. So I'll try to make it more clear and less woo-sounding.
The basic premise of the answer is that to reach a conclusion to a problem:
- A person needs to have knowledge about the problem, and
- A person needs to be aware of mental concepts to manipulate that knowledge to reach the conclusion.
So from that it follows that the more knowledge one has about the problem and the more mental concepts one has to manipulate that knowledge the more effective their thinking will be.
The original question seems to focus on the second point: which concepts can we use to improve our ability to think, whereas I'm taking an even higher look at the problem and stating that the more we know about something the easier it will be for us to solve problems in that domain.
To use a concrete example, if someone enters the programming field and tries to start a junior position with no experience, they'll have no ability to solve problems within that field due to lack of knowledge and mental concepts. As they continue to learn knowledge of varying programming languages and mental concepts with which to use those programming languages, the quality of their ability to solve problems begins to improve.
So at the highest level what this means is that if one wants a better ability think critically about something they need to spend more and more time learning about that thing, and how others have approached that thing with different constructs.
Within that, if one wants to start looking into different mental constructs to improve their problem solving process, they can do so, but my answer actually encompasses that process. What I'm suggesting is that to think more critically one needs to actively pursue more mental concepts and knowledge.