One universal Schema is possible and I have implemented it at my company. It all depends on what you are going to use it for and who is going to use it. We need it all the rows to be similar so that we can put it into a series of redshift tables and it can connect to our BI platforms and be ready for analysis by anyone who wants it, whilst containing all of the information we need.
If you want to do more then events; such as page/screen views, I advise using the out of the box events as they are validated in the front end instead of at enrichment stage making them much easier to test.
I hope this helps