I think that the New Century books are pretty good. They cover the whole course fairly well. They have some straightforward questions and then have harder questions, as well as some good chapter summaries.
The other good books I like are Maths in Focus. Most of the questions are easy and also fairly repetitive, but the review exercises at the end of each chapter are good and there are also very good "Challenge" sections.
That's my opinion anyway.
Variation
Here's my quick way to do any variation questions - in four easy steps.
1. Read the question carefully and write the variation as a proportionality statement (i.e. with a "fish" sign, I'll use ∞ for now), for example a ∞ b.
2. Immediately replace the "fish" sign with "= k x", for example a = k x b, where k is the constant of proportionality.
3. Read the question again and find the values for a and b which will let you find the value of k.
4. Replace k in your equation in Step 2. This now becomes the equation you can use for the rest of the question.
Here's a quick example:
The surface area of a cube, A, varies directly with the square of the length, s, of each side. A cube with sides of 3 cm has a surface area of 54 square cm. Find the surface area of a cube with 7 cm.
Step 1: A ∞ s^2
Step 2: A = k x s^2
Step 3: We know that when s = 3 we have A = 54
So, 54 = k x 3^2
54 = k x 9
9k = 54
k = 6
Step 4: Equation now becomes A = 6 x s^2.
So when s = 7, A = 6 x 7^2 = 6 x 49 = 294 square cm
For inverse variation, everything is pretty much the same, but just use "a ∞ 1/b" instead of "a ∞ b"
The time t that a certain amount of food in a camp will last varies inversely with the number of people n to feed. There is enough food to feed 100 campers for 10 days. Find how long the food will last if there were 250 campers.
Step 1: t ∞ 1/n
Step 2: t = k x 1/n which then becomes t = k/n
Step 3: We know that when n = 100 we have t = 10.
So 10 = k/100
k = 10 x 100 = 1000
Step 4: Equation now becomes t = 1000/n
So when n = 250, we get t = 1000/250 = 4 days.
Hope this helps!