I think it would be useful to explain why certain things are commonly done the way they are. As it stands, your advice is largely incorrect, as has been pointed out by every reply to your post.
set kbit inbound (download) rate higher than your actual rate, this really has no effect
This sets the overall maximum bandwidth available so that class percentage limits can be calculated. Setting no limits on incoming classes can and will cause congestion and poor latency when the pipe is close to full.
set kbit outbound upload rate higher than your actual rate so your full speed is utilized
Extremely bad advice. If you do this then QOS simply cannot work - the transmit buffer must be capable of being emptied faster than it fills up. This setting should be set no more than 90% of your maximum available upload bandwidth, and latency will be improved if it is even less - down to 66% is very good for VOIP. This is an absolutely fundamental requirement and is not negotiable.
sometimes i get 650kbit spikes on a 500kbit connection
Because your QOS is not working
uncheck all boxes in prioritize small packets and uncheck icmp
Which will only have the effect of slowing down important packets, and is a bit pointless, i.e. - it may be your own preference but what is your reason for advising others to do so?
set all your priority classes to min and max bandwidth at 1% - 100% so when your idling your torrents can use your full bandwidth
The rate setting of 1% is an inadequate amount of guaranteed bandwidth for most applications, and will cause slow operation. The limit settings of 100% on everything will allow your P2P and any other bandwidth hungry applications to take full bandwidth and cause congestion.
delete the default tomato filters as they only sort by the port number
Tomato's default rules aren't wonderful, but telling people not to classify by port number is not good advice. The reason it is normal to use port numbers where possible is that many of the the IPP2P and L7 filters don't work as intended - or even at all. For example the "skypeout" filter is very poor, it will let through a considerable amount of P2P which will get therefore get high priority. Also, L7 filters in particular are very processor intensive, which may be OK on the RT-N16 but not so good on earlier generations of router.
many torrent programs use port 80 to fool QOS into thinking its a http request when it is a torrent.
use the l7 filters to prioritize non-P2P traffic
For the reason stated it is best to avoid L7 filters wherever possible.
in my case skype, http, dns, ssl, iptv(kylin) are important so i have filters on them for snappy response times
you can add ftp, gaming, etc.. to this list
It is really rather pointless to use an L7 filter for HTTP, FTP, DNS for example. You already have the port number for HTTP, DNS, for example, why also use an L7 filter in the same rule? Far from making them snappier, the extra L7 filter can only slow them down. There may be another reason to do so (damage control), but it won't make them "snappier".
Your rule for HTTP specifies transfer rate of 0 - 0 kb for no apparent reason?