Practicing against level 9s are a waste of time. They don't mimic human opponents at all, their reactions are stupid-fast and their DI is better than any human I've seen. I'm paraphrasing but a great player once said that if you practice against level 9's you'll be really good... at beating level 9's. Also, not to be pedantic but I always thought that level 4 cpus were ideal because they mix up their DI on throws semi-realistically which is why they're good practice for Marths to practice chaingrabbing their uthrow? Nothing is going to substitute for actually playing against human opponents though. However in the mean time: 99 stocks, level 4 (or 3) just practice 0 to deathing them, be mindful of your spacing like you're fighting a real opponent, mix up your recoveries like you're fighting a real opponent, practice being crisp with your edgeguarding, practice being flawless in your techskill, and practice keeping your eye on your opponent. The last bit is something that has been pretty helpful to me personally. In a real match you want your focus to be on your opponent and what they're doing. You don't want to have to focus on whether or not you're hitting that L-cancel or wavedashing properly or hitting that waveland during a match you just want to "know". Furthermore, watching your opponent (not that you want to completely ignore yourself, but the main focus should be on your opponent) can help with your spacing. Or I could be full of crap, I don't know just throwing out things that have helped me a bit. It basically boils down to try to get in the mindset of fighting against a human opponent; try to think of what a human could/would do in that particular situation and figure out ways to deal with it.
Hope this helps!
Edit: CrimsonBlur made a really cool solo training regiment for Marths but I can't seem to find it...