You can add as many IP subnets as you want, but you should make sure that the total length of your SPF record is below 512 characters to avoid problems with DNS protocol limits.
The SPF record in the question looks syntactically correct. Some implementations may be confused by the multiple spaces between the 3rd and 4th ip4 mechanism, even if the specification allows this. And you should only include the mx mechanism, if the domain does have a mx record.
I have also taken a look at the real-life version of the SPF record, and while syntactically correct, it includes a lot of include mechanisms to records, that includes themselves. The self-including will result in evaluation errors. And the number of includes will most likely also result in hitting the DNS lookup limit, which will give in a permerror result.