Hello!
First of all, I am student learning for my CCNA R&S, and i did subnetting two months ago.
I have a great teacher who taught us his way of subnetting, and he is a guy with 2 CCIE, going for his third. Needless to say that he is working for some mayor companies.
I guess you need me to talk more about VLSM.
There is a way to split your network in a few seconds, with only few calculations.
First of all, you need to determine how many addresses will you need for each subnet.
Then, you order all of your subnets in descending order, from biggest to smallest.
Then find an increment of number 2 in which will that subnet fit (2, 4, 8, 16... etc).
I think you won`t be disappointed if you contact me :)