1. I do not recommend Russian jets for one good reason: maintenance. I know a mechanic in the Luftwaffe that serviced the MiG-29's. He said that the MiG-29 was hell to service, primarily due to its crudeness. Also, Russian engines aren't too reliable, and they are more finicky with fuel - see the Indian experience with Russian jets. For example, you have to overhaul a RD-33 engine in a MiG-29 every 500 hours, he told me. Remember, there are two of these engines in a MiG-29. The GE F110 engine in a F-16 can go 1000-1500 hours between overhauls, roughly 2-3 times the life of a Russian engine. So, I have to agree, from a technical perspective to stick with Western designs, and a easy to maintain airplane, to save money on maintenance. Sure, Russian fighters are cheap, and they perform great, but think of the overall costs as well.
2. The CF-18 is a hard jet to replace, I have to admit. The design is excellent for what we use it for, and it is a easy jet to maintain, compared to other airplanes. I will have to agree with a_majoor that we are stuck in terms of finding a suitable replacement. Our geography and the missions we send our CF-18's out on dictate a design that in essence, contradicts itself in terms of features. You normally can't have a long range jet in a small airframe (unless you turn the airplane into a flying fuel tank), and larger airplanes are usually harder to maintain. Canada's budget for new fighters does not allow for buying specifically taylored airplanes, we have to get multi-role airplanes that does it all.