The way you have wired the fixtures is incorrect. There is no reason to run the travelers for the 3-ways thru the fixtures. You should have connected power at the first 3-way, run 12-3 between the switches and connected the lights to the 2nd 3-way with one piece of 12-2. You could also connect the lights and power to the same 3-way if that makes more sense. Anyway this is not your problem.
Your problem could be: 1) The fixtures are not grounded. Fluorescent lights must be grounded for proper operation. 2) Are you using the correct bulbs for the ballast? Just because they fit does not make them the right bulbs! You must cross reference the markings on the ballast with the bulbs. Using higher wattage bulbs than the fixture is rated for can cause flickering or failure to start. (This usually won't damage anything though). Using lower wattage bulbs will overload the ballast and cause it to overheat and fail. 3) The ballasts are bad.