We maintain two from and to fields. One is a theoretical range which covers the anticipated values that could exist along the segment; the second is a physical address range which contains the actual range of addresses that exist along the segment. For the physical range, we include the lowest and highest along a given segment but don't concern ourselves with whether or not we have a continuous address range or have gaps in the address sequence.
I would agree with the first responder that if what you want is to have no gaps in your range, a composite locator composed of multiple point and/or line locators would be the best solution. Building a linear addressing model with no gaps in sequential addresses would be insanely difficult to produce and still wouldn't be as accurate as a comparable point address model.
The interesting thing about getting too specific with your existing address ranges (with the intention of increasing positional accuracy) is that you may inadvertently wind up making your locates worse. Take example "C" above. If you assign the segment a from and to value of 12 and 13 respectively, it will assume that 12 is near the left vertex and 13 is near the right vertex when in fact, they are both near the right end. Despite entering what appears to be more precise data in assigned address ranges, the resulting locate is actually worse than if you were to assign a range of 7-13. It seems counter-intuitive at first, but plays out this way particularly in sparsely addressed areas.
Whatever you wind up doing, I think the most important consideration is to ensure that your solution fits the need. If it's important that you locate the greatest number of possible addresses, then I would suggest that you use theoretical ranges (ie. assign 100 - 199 for a hundred block even if the highest existing address may be 149). That helps account for new construction, multi-family conversions and other events that might produce new addresses outside a very strict physical/existing range.
If however, it is more important that your geocoding task produces accurate locates, then assigning existing/physical ranges are what you need. Point locators are better yet as they are discreet locations. And repeating what I said before, a composite locator is best of all. You can begin with a very accurate, but less fault tolerant point address locator, fall back to a centerline locator based on existing/assigned addresses, and finally to a theoretical range as a sort of catch all.