I like quite a few of these ideas, but I have some issues with a few of them.
The biggest issues are that some of these will just never happen with how the coding works. The one where you get points for damaging a person and then get points if they die within a second requires there to be a timer set for every hit unless that hit is a kill. This means that you could potentially need to check 30-40 variables each time another person is killed. You must check if that person was hit recently then you also must check if the last time they were hit was within a second, then you need to have a variable for who hit last and award them a point. But if you want it to be accurate you need to save the names of everyone who hit this person and when they hit this person to determine who gets a point. This is simply not a good use of system resources.
The next one that isn't great for system resources, but not as bad as the first, is the top 10% system. I like the idea, but you need to have two arrays that are either dynamically ordered by points or are saved to a new array by point score using a sorting algorithm. Sorting algorithms use quite a bit of resources as they must go through the entire array many times to be accurate. Then you would need to match the indexes of the point array with the indexes of the character array so that the first length*.1 indexes are actually tied with the correct people. Again, good idea but not the best system to use.