The most important habit is, after choosing a move you want to play, imagine it as if it's been played. Then find all the scary or annoying things your opponent can play as a response. Mostly these will be checks, captures, or threats. After checking for these things, if you still like your move, then you can play it. Even beginners do this sometimes, but your goal is to do it for 100% of your moves in 100% of your games, and that kind of habit takes a lot of time and practice to build up.
Practice this during rapid (or longer) games. Mostly use this to avoid losing any material for free. Do your best to not give away any material, not even a single pawn.
If you do that and solve puzzles (which you say you're already doing) then you'll improve a lot. It will also be useful to learn about strategy and endgames. Consider getting a book like Pachman's Modern Chess Strategy (or some other well known strategy book is fine too).
Typically players waste too much time trying to memorize openings, so try to avoid that. If you want ideas for the opening, then play games, and afterwards compare the moves against a database to see what the most common moves are. It's also useful to look at GM games for opening ideas. You can do it on your own or watch youtube videos like Agadmator who shows GM games.
---
To "place well" in a tournament could mean different things to different people. In small local tournaments the best players are maybe 2000-ish on average. Some areas may be weaker (down to 1800) and some may be stronger (up to 2300). In larger tournaments there will be titled players (masters, IM, GM all that stuff). Online ratings tend to be higher, so 2000 OTB might be 2, 3, or 400 points higher online depending on the player and the time control.
fyi, my chess.com profile doesn’t reflect my skill level, because I only use it for grinding puzzles.