You stated that the holes at the ends of joists could be "much larger". I don't know where you get that idea. Let's say, for arguement sake, that a 2x10 joist spans 12 feet from a basement wall to an interior load bearing wall. Lets say the joist is supporting a 40 psf dead load and 20 psf live load. Given the joists are usually spaced at 16"oc, the combined load per foot of joist is 90 pounds. Going back to the example joist, 12 feet times 90 pounds equals 1080 pounds, or a point load on each end of 540 pounds. How much material would you like to take out of the end of your joist to support that much weight before it breaks off from the vertical (cross grain) shear? (Hint, wood is much stronger in tension and compression with the grain, than cross grain stresses, which collapse the fibers)
Keep your holes to less than 1/6th the dimension of the joist, no matter where it is on the joist, and if you can, stay away from the ends where possible.