A true middle name field is available on a donation form, New User Registration and Profile Form.

For an event registration form, an attribute can be added to an event form. The attribute would collect the information in a participant attribute, and then this information would need to be manually transferred to the true Middle Name field on the constituent record. 

Alternatively, you may consider directing registrants to sign up for the website after registering and enter their middle name. This way, the true middle name field can be synced to their record.