Kind of takes the fun out of some flights, but I like the way AC (and I assume other do it). where there is logic build into their flight numbers.
Used to look something like this (copied from Airliners.net)
000-099 - Usually TPAC, or flights in/out of Asia. (HND, PVG, TLV)
1XX - Mainline transcontinental in/out of YYZ (YEG, YYC, YVR)
2XX - Mainline out of YVR (YYC, YEG, YWG), also includes YYZ-YWG rotations
3XX - Mainline transcontinental in/out of YUL (YEG, YYC, YWG, YVR)
4XX - Rapidair flights (YYZ-YUL/YOW) trips
5XX - Mainline West coast transborder (YVR-SFO, YYC-LAX) etc...
6XX - Any Mainline flight to or from maritimes (YYZ-YYT, YHZ-YUL)
7XX - Mainline East coast transborder (YYZ-LGA, SFO-YUL)
8XX - Mainline Trans Atlantic flights (YYZ-LHR, YVR-CDG)
9XX - Any Mainline flight to southern vacation destinations
1XXX - Usually extra Mainline flights they haven’t come up with a number for yet (YYZ-YXE, DEN)
2XXX - Extra sections, last two digits are same as last two digits as originally cancelled flights
Also eastbound and southbound were even numbers.