Grinding is absolutely the way forward, but theres bad ways to go about it.
I spend a lot of time in practice mode just doing the same thing over and over again- autopilot mode. It works for me but for others you may want to organise and allocate your time better.
Some things i have tried and implemented in the past;
Write a list of moves/setups/combos(whatever you need to do) and work your way down it doing 10-20 reps of each thing you need to work on, but do it in a way that you dont put all your attention on it and make it boring. Put some music on or the TV or whatever and just go at it. When you come to something inconsistent you can practice it more, and if you 20/20 something every time, put it lower down the list and do less reps, you got that one down. The idea of having a relaxed training session came from me getting salty at myself when i drop a combo, and from that point on failing every attempt to hit that combo for the rest of the time period. Dont do that, just chill out, grind it out, and you will get it.
Habit breaking in arcade/training/infinite mode is good. If you lose games because you jump at silly times, play an entire session online, or vs the computer, or even the AI controlled training dummy, and focus almost entirely on correcting your bad habits. Its hard enough to think about playing the game you want to play, let alone thinking about breaking your habits aswell. Focus on one point hard enough that you cant help but implement it later. Play a session without jumping, or without using any unsafe moves, or try to win just through baiting and punishing, and then next session, when you play your A game, that area will be a lot more solid than before when you were focusing on that AND the game at hand.
For online games, try "reading aloud" while playing. Commentate your opponents actions almost before he does them. I find this helps me pick up on peoples habits quicker, but note theres things you have to react to, rather than predict. Start easy, like if your opponent is coming into jump range, tell yourself outloud "Hes jumped at me 20 times already, better anti air him" immediately you are thinking one step ahead of your opponent, and can start to show him that. This is something you will be doing naturally in matches when it comes to downloading and beating opponents, so you cant practice it enough, just make sure you dont over-commit or start playing for him, remember you are picking up on someone elses habits, and they might make different decisions to you.
Obviously different people will be comfortable training in different ways but those are just a couple things i try to do when im really in a "leveling up" mood.