It is hard to define the "desired" place for floating environments in
LaTeX. It is a problem that bothers many people and there are also
many "solutions", as you have realized. The float package is one of
them, corresponding the "H" position. See one example here:
https://github.com/yihui/knitr-examples/blob/master/067-graphics-options.Rnw
fig.pos="H" only works for figures, of course. For tables, it depends
on which R package you use; the position may or may not be supported.
In typesetting, I believe "many tables and figures" almost surely ends
up in a mess due to the restriction of pages:
http://yihui.name/en/2013/10/markdown-or-latex/ The solution does not
even exist in theory as long as this restriction is there.