Another thing that could make for inconsistent shifting would be a bent derailleur hanger. Basically, the derailleur should run parallel to the cassette. If it's bent, it won't index correctly with the limit screws set correctly and with any amount of indexing adjustment.
Yet another thing would be friction in the cable/housing. You can check this by loosening the cable anchor and pulling the cable through different sections of housing, looking for friction.