Isn't that basically X/Y?
Less facetiously, it is a fairly obvious possibility, if for instance you were doing a themed hack or a story-based one, but generally speaking such characters are included to indicate continuity with the games as they were set out, or because it's taken as a partially acceptable part of the series. If you wished to make a Dantean ROM Hack with Virgil or something as a recurring character, then that would probably work, and likewise if you wanted things to be more free-form it might be useful to avoid such characters, but otherwise they do have various uses in introducing the games, and so on. In all likelihood, a lot of the action/adventure-game-esque hacks would tend to eschew such characters, although that might not be what you're asking about. From Gen. III onwards, of course, you could quite easily have a game without a rival. That said, though, possible options might include altering the rival role to just be taken on by various trainers along the journey, perhaps with different sprites, and this would allow for a similar progression and variation in a more hidden and a possibly interesting manner.
Of course, most ROM Hacks also would tend towards rival characters because they'd tend to adjust to the trainer and level up accordingly, but in that sense a decent model for ROM Hacks might be to have normal trainers also acting like this, and this would create a game that develops throughout.
A rival is a character that appears early in the story with an advantage over you
In terms of their starter, yes, except in Yellow, but otherwise from G/S/C onwards the player has quite a few advantages over them as well.