Well you might want to read
this too, but chances are there's nothing you wouldn't know already. I'm not sure how big your figure is, but if it is big enough, LaTeX will put it on it's own page, just like it usually does with floats. This is how it should work. If you think LaTeX is not making things right, you should stop and reconsider: are you making things right? LaTeX is pretty good in putting things right, so if it wants to put a figure on it's own page due to the size of it, you have two options: one is to do gimmicks to force the figure where you want it, which means a lot of work and potentially worse readability/looks than should be, and problems when your document changes before the figure, changing the content flow on that page. Second option is to reconsider the float, and change the size of it or perhaps the contents of it, to make it such that it fits (in LaTeX's opinion) where you'd like to see it.
Try the *-version of the figure with a small figure to see if it changes anything, or just cope with the extra page; usually it's not that bad (except for the cases where the float is really small, but in those cases LaTeX ought to put it someplace else anyway), and maybe you could even make it bigger to look better? And if you dislike it being on the last page, put it one (or more) pages earlier in the text, and you should get it between some of last pages instead of after all the other pages.
LaTeX is not about tweaking the outlook yourself, it's about writing the content and letting the program typeset it. If you find yourself spending hours changing little things to get "better" result, you're doing something very much wrong I'd say (maybe consider using Word then). It's highly unprobable that you alone are in a situation where the existing packages can't do what you need the correct way.