I understand that these are natural processes and my solution is to fix them rather than restrict them. I have done a lot of work around to fix this issue.
Currently what I do is repost the whole Stock Ledger while recalculating incoming and outgoing rates for an accounting period (usually at the end of the fiscal year) using a custom script I wrote.
In the future I really want this problem to be solved completely and I have written a design here at [Idea] Solution to Stock Transfer Reposting Problem that should fix the issue. According to @nabinhait, he is working on it and I have hopes that this can be resolved in the future