The problem with Knott's attendance is probably due to Disneyland's close proximity. Yes, it's much more inexpensive but if you ask any family which they'd rather go to, 9.5 times out of 10 they'll say Disneyland. That means Knott's loses out most of the time.
If Knott's was in Riverside County, I guarantee you that the numbers will be better from that local market. If people are going to make the drive and be that close to Disneyland.. once again, they'll choose Disneyland.
Six Flags being a coaster park benefits from that group at least making a point to visit once a year with a coke can. Knott's is too much of an identity crisis... it's part historic landmark which only offers two rides worth while, and then the rest are crazy coasters or carnival rides. You're bored by noon whereas Six Flags you'll at least have coasters to ride most of the day.
Universal Studios has a lot of shows, word class attractions and a tram. Even though it's still half a day park, it has more of that "oh, we have to go there" edge over Knott's.
Ask anyone on the street to name a Disneyland, Universal, and Six Flags ride and they'll probably be able to do it. Ask them to name a Knott's Ride and they'll go "Log ride?" and be stumped to name anything else. Heck they probably wouldn't even be able to come up with the name Calico. It's all in the marketing. Knott's isn't doing a good enough job selling their park or making it appealing to the masses.
Just my opinion.