There are grain fillers which are often used on open grained wood like red oak to make it take a stain more evenly, using this on the end grain of a board should do the same thing.
What you are needing is a way to make the end grain absorb about the same amount (which is much less) as the face.
Using finer sandpaper on the ends will help a small bit, but the prepping grain fillers will do much better.
woodworking.stackexchange.com/users/27/bowlturner
I've heard (but haven't verified) that if you sand the end grain with a higher grit it will match the stain of the face grain (can't confirm).
So, if you sand to 220 on the face grain, sand to 320 on the end grain.
woodworking.stackexchange.com/users/3/dfife
The end grain always absorbs more finish because of capillary action in the fibers.
The only way I can think of to prevent this would be to coat the ends in something that would block those fibers, but that too would change the appearance of the end product.
woodworking.stackexchange.com/users/34/Peter Grace
This question is a week and a half old but I'll answer with what helps me.
I put thinned shellac onto the end grain of my projects which does a good job of sealing it.
It slows the absorption of stain enough to even up the color.
When I say "thinned" I mean a "one pound cut".
This is an arcane measurement of shellac concentration that means one pound of shellac flakes to one gallon of denatured alcohol.
I use an iPhone app called "Woodshop Widget" to help me dilute shellac to the proper concentration by adding more alcohol.
There are also products sold that advertise to prevent this sort of problem
but I have never used any of them.
woodworking.stackexchange.com/users/178/glw
End grain absorbs more stain/finish due to the capillary action of the wood fibers.
In red oak they act like straws and just suck up a large amount of stain/finish.
Sealing the end grain with various conditioners (glue size, thinned finish) works, but it is difficult to get the liquid on just the end grain, resulting in a blotchy look.
Sand
the end grain to 600, and then burnish it with a piece of polished metal.
This crushes the "straw" fibers, preventing the capillary action.
woodworking.stackexchange.com/users/265/OSU55
Despite doing a great deal of sanding on the end grain, and getting it just as smooth as the rest of the wood, it always soaks up more stain than the rest, and turns out much darker and different. Is there any technique or process I can use that can match the end grain to the rest of the wood?
How can I prepare the end grain for stain, so that its final appearance matches the rest of the wood?
woodworking.stackexchange.com
<sanding><staining><end-grain>
woodworking.stackexchange.com/questions/24
woodworking.stackexchange.com/users/43/whatsisname
S0: There are grain fillers which are often used on open grained wood like red oak to make it take a stain more evenly, using this on the end grain of a board should do the same thing. Putting thinned shellac onto the end grain of my projects which does a good job of sealing it.  Using finer sandpaper on the ends will help a small bit, but the prepping grain fillers will do much better. Grain fillers can help to take stain on end grain more evenly. Finer sandpaper is also an option, but fillers would be better. Thinned shellac is also a recommended option. Sanding the end grain with a higher grit may even out the effect between the end grain and face.
Grain fillers can help to take stain on end grain more evenly. Finer sandpaper is also an option, but fillers would be better. Thinned shellac is also a recommended option. Sanding the end grain with a higher grit may even out the effect between the end grain and face.