Nothing is worse than putting a lot of effort into an assignment and getting nothing but negative criticism about it. Develop a system so that the class members hold each other accountable for their work. Perhaps you could form study groups and offer incentives like extra credit to the group that makes the most total improvement on the next test. That way the kids will help each other study to do well. Take an interest survey and come up with labs or projects that link the subject to the interests of the class.
Motivation can be powerful, but it takes a little creativity and a lot of work.